вот я написал:
lpt=CreateFile( "LPT1", GENERIC_READ|GENERIC_WRITE, .. /*дальше не помню*/ );
потом:
WriteFile( lpt, &byte, 1, &Bytes_read, NULL); // примерно так
1) все порты ввода-вывода относящиеся к установленным девайсам (скажем так - используемые виндой) виндой закрыты от пользователя
при обращении к ним происходит или выдача мусора - например к IDE контроллеру залезь - получишь 0ffh
или виртуализация - например порт 021h открыт на чтение но не запись туда заблокирована
2) остальные порты доступны как типа в ms-dos
мне надо было почитать диск дохленький через IDE-порты - я отключил второй IDE контроллер в конфигурации виндов и посадил этот диск туда
в NT естественно все не так
[C++] Видимо, используя CreateFile, ReadFile, WriteFile11.10.01 17:47 Автор: Cyril <sc> Статус: Member
вот я написал:
lpt=CreateFile( "LPT1", GENERIC_READ|GENERIC_WRITE, .. /*дальше не помню*/ );
потом:
WriteFile( lpt, &byte, 1, &Bytes_read, NULL); // примерно так
> вот я написал: > lpt=CreateFile( "LPT1", GENERIC_READ|GENERIC_WRITE, .. > /*дальше не помню*/ ); > потом: > WriteFile( lpt, &byte, 1, &Bytes_read, NULL); // примерно > так > > после чего прога застревает и дальше не идёт.. > > p.s. win as 2000, на lpt ничего не висит..
1. Esli Win95/98
_inp Read one byte from specified I/O port
_inpd Read double word from specified I/O port
_inpw Read 2-byte word from specified I/O port
_outp Write one byte to specified I/O port
_outpd Write double word to specified I/O port
_outpw Write word to specified I/O port
2. esli WinNT/2000, to cheres CreateFile() no eto golovnaia bol`(hado vsiakie maski stavit i rpochuu labuden`).
Luchshe postav driver "UserPort" i rabotai s temi zhe _inp() . . . _outp() functions.
I tak i sdelal rabotaet otlichno, i source code est` dlia drivera i examples.
reference: http://www.lvr.com/parport.htm (tam polno dobra v tom chisle "UserPort".)
Takzhe mogu po email brosit.