Запись в LPT порт
- From
- Sergei Zhilin ()
- To
- All
- Date
- 2001-04-07T12:52:40Z
- Area
- SU.WINDOWS.NT.PROG
From: Sergei Zhilin <sergei@math.dcn-asu.ru>
Народ!
Помогите справиться с проблемой. Не пойму, почему не хочет работать вот
такая конструкция:
...
h = CreateFile("lpt1", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (h == INVALID_HANDLE_VALUE)
HandleError(GetLastError());
else {
DWORD dwWritten;
BYTE pBuf[] = { 0xff, 0x00, 0xff };
if ( 0==WriteFile(h, pBuf,sizeof(pBuf), &dwWritten, NULL) )
HandleError(GetLastError());
else
cout << "Success. " << dwWritten << " bytes written" << endl;
}
...
После вызова WriteFile все останавливается и ожидает непонятно чего,
т.е. выхода из функции я дождаться не могу. Во всевозможной
документации (и, прежде всего, в Platform SDK) все рассуждения и
примеры на эту тему даются в применении к COM-портам. Для них описано
все в деталях: и про синхронный, и про асинхронный режимы записи. Про
параллельный же порт лишь упоминается, что все делается аналогично,
нужно лишь имя порта в CreateFile поменять. Однако, для COM-ов все
работает на ура, с LPT же возникают вот такие проблемы. LPT, в который
пытаюсь писать, свободен. Чего я не учитываю? Может какие-то таймауты
предварительно поднастроить требуется?
--
Отправлено через сервер Talk.Ru - http://www.talk.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)