gpt4 book ai didi

c++ - CreateFile 返回错误 INVALID_HANDLE_VALUE(对于 COM 端口),GetLastError 返回 "can' t 找到指定的文件”

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:00 38 4
gpt4 key购买 nike

我正在打开一个端口与设备通信并控制设备,但是 CreateFile() 函数返回 INVALID_HANDLE_VALUE

GetLastError() 返回 2,这意味着它找不到指定的文件。

我的代码如下所示:

wsprintf( szPort, "COM%d", nPort );
m_hIDComDev = CreateFile(szPort,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL);
if (m_hIDComDev == INVALID_HANDLE_VALUE)
{
DWORD err=GetLastError();
}

为什么会出现这个问题?

最佳答案

问题是您没有为串行端口指定正确的 lpFileName 值。你应该使用这种格式:

"\\\\.\\COM%d"

这将导致字符串看起来像 \\.\COM1,这是正确的格式。

关于c++ - CreateFile 返回错误 INVALID_HANDLE_VALUE(对于 COM 端口),GetLastError 返回 "can' t 找到指定的文件”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14634954/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com