Я попытался запустить следующий код на моем ПК.
С портом 0x378 (данные LPT1) он работает нормально.
Но с PORT 0x379 (статус LPT1) он всегда возвращает 126 независимо от того, что я вывел в предыдущей строке. 0x37A тоже работает. У меня Windows XP
#define PORT 0x379
#define DATA 255
int main(int argc, char *argv[])
{
Input input;
Output output;
HINSTANCE hInstLib = LoadLibrary(TEXT("inpout32.dll"));
if (!hInstLib)
{
printf("No dll.\n");
system("PAUSE");
return 1;
}
input = (Input)GetProcAddress(hInstLib, "Inp32");
output = (Output)GetProcAddress(hInstLib, "Out32");
if (!input || !output)
{
printf("No funcion.\n");
FreeLibrary(hInstLib);
system("PAUSE");
return 1;
}
output(PORT, DATA);
printf("status: %i\n", input(PORT));
FreeLibrary(hInstLib);
system("PAUSE");
return EXIT_SUCCESS;
}