将文件写入并行端口挂起

WriteFile to Parallel port hangs

本文关键字:并行端口 挂起 文件      更新时间:2023-10-16

我正在编写一个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 testrn");
          int sz_buffer = strlen(outBuffer);
            DWORD bytes_written;
            if (!WriteFile( portHwd,
                  outBuffer,  
                  sz_buffer , 
                  &bytes_written, 
                  NULL))
            {
                  CloseHandle(portHwd);
                  GetLastError();
                  return 1;
            }
            CloseHandle(portHwd);
      }

如果端口的输出缓冲区已满,则WriteFile将挂起,直到有空间完成您的请求。端口上有什么东西并从中读取吗?