D
dimbasis
Уважаемые коллеги,
У меня есть необходимость найти адрес LPT порта.
Я написал такую функцию и поместил ее в DLL.
//===========================================
// LPTPort.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h";
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID )
{
return 1;
}
int FindLPT( int iPortNum)
{
long *lplwAddr; // указатель на адрес области в которой находится адрес порта
long lwAddr; // адрес порта
if (iPortNum == 1)
{
lplwAddr= (long *)0x00000408;
}
else if (iPortNum == 2)
{
lplwAddr=( long *)0x0000040A;
}
else if (iPortNum == 3)
{
lplwAddr=( long *)0x0000040C;
}
else if (iPortNum == 4)
{
lplwAddr=( long *)0x0000040E;
}
else
{ return (0);}
lwAddr = *lplwAddr; // !!!!!!!!! при отладке на этой строке ошибка Access Violation
return (lwAddr);
}
//================================
DLL строится нормально, а если смотреть в отладчике, то указатели не показывают на адреса портов
и в строке lwAddr = *lplwAddr; - run time ошибка "Access Violation".
Помогите пожалуйста, что я сделал не так?
Заранее спасибо, Дмитрий.
У меня есть необходимость найти адрес LPT порта.
Я написал такую функцию и поместил ее в DLL.
//===========================================
// LPTPort.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h";
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID )
{
return 1;
}
int FindLPT( int iPortNum)
{
long *lplwAddr; // указатель на адрес области в которой находится адрес порта
long lwAddr; // адрес порта
if (iPortNum == 1)
{
lplwAddr= (long *)0x00000408;
}
else if (iPortNum == 2)
{
lplwAddr=( long *)0x0000040A;
}
else if (iPortNum == 3)
{
lplwAddr=( long *)0x0000040C;
}
else if (iPortNum == 4)
{
lplwAddr=( long *)0x0000040E;
}
else
{ return (0);}
lwAddr = *lplwAddr; // !!!!!!!!! при отладке на этой строке ошибка Access Violation
return (lwAddr);
}
//================================
DLL строится нормально, а если смотреть в отладчике, то указатели не показывают на адреса портов
и в строке lwAddr = *lplwAddr; - run time ошибка "Access Violation".
Помогите пожалуйста, что я сделал не так?
Заранее спасибо, Дмитрий.