【发布时间】:2018-11-03 17:52:34
【问题描述】:
我正在打开并从 USB 设备(热敏打印机)读取端口:
HANDLE hUsb = CreateFile(symbolicName,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
ReadFile(hUsb, buffer, bytes, &read, NULL);
我需要设置超时读取,但它是USB端口,而不是COM端口,所以我不能使用函数SetCommTimeouts。
有没有什么功能可以使用,和SetCommTimeouts一样的效果?
如果有简单的方法,我宁愿不使用线程。
我在 Windows 10 中使用 Visual Studio 2010。
感激不尽。
【问题讨论】:
-
我对windows了解不多,但胡乱猜测——IO Completion Port能帮上忙吗?
-
你需要创建异步句柄。结果
ReadFile没有阻塞。您可以随时取消通话
标签: c++ windows visual-studio usb thermal-printer