WriteFile к параллельному порту зависает - PullRequest
1 голос
/ 12 марта 2012

Я пишу элемент управления activex, который получит доступ к параллельному порту и запишет в него байты.Я могу открыть порт успешно, но когда я пишу, он зависает в функции WriteFile.Я что-то здесь пропустил?Я использую Windows 7

HANDLE portHwd = CreateFile( _T("\\\\.\\LPT1" ), 
                        GENERIC_WRITE,
                        0,
                        NULL,
                        OPEN_EXISTING,
                        0,
                        NULL); 
      if (portHwd)
      {
          char outBuffer[] = _T("This is a test\r\n");
          int sz_buffer = strlen(outBuffer);

            DWORD bytes_written;
            if (!WriteFile( portHwd,
                  outBuffer,  
                  sz_buffer , 
                  &bytes_written, 
                  NULL))
            {
                  CloseHandle(portHwd);
                  GetLastError();
                  return 1;
            }

            CloseHandle(portHwd);
      }

1 Ответ

1 голос
/ 12 марта 2012

Если выходной буфер порта заполнен, WriteFile будет зависать, пока не останется места для выполнения вашего запроса.Есть ли что-то подключенное к порту и считывающее с него?

...