HANDLE hPort = CreateFile(
COM1,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
0,
NULL
);
当没有设备连接到COM端口时,除非为零,否则此函数会返回一个值吗?
目前尚不清楚您实际提出的问题到底是什么,但示例中的CreateFile
调用只会因以下两个原因之一而失败:
- 没有
COM1
设备。这可能是因为系统中没有物理串行端口,Windows无法检测到它,或者Windows为其分配了不同的COM端口号。 COM1
设备已打开。Windows只允许串行设备打开一次。任何进一步打开端口的尝试都将失败。
当CreateFile
失败时,它将返回INVALID_HANDLE_VALUE
。呼叫不会失败,因为他们的电缆或设备没有连接到串行端口。Windows只能检测串口本身是否存在,它通常无法检测是否有东西连接到串口。