Запись в 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)