gpt4 book ai didi

c++ - 不写入任何数据,WriteFile 怎么能成功呢?

转载 作者:可可西里 更新时间:2023-11-01 12:01:33 27 4
gpt4 key购买 nike

我调用 WriteFile将数据发送到调制解调器:

BOOL writeResult = WriteFile(m_hPort, p_message, length, &numOut, NULL);

哪里:

  • m_hPort 是一个有效的HANDLE
  • p_message 是一个 unsigned char* 包含 ate0\r
  • length 是一个值为 5 的 int
  • numOut 是一个初始化为 0 的 unsigned long

偶尔我会看到此方法成功但 numOut != length

WriteFile怎么可能不发送任何数据就返回成功呢?

编辑 这就是我创建句柄的方式:

HANDLE hPort = CreateFileA("\\\\.\\COM5", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);

我检查了返回值,它不是 INVALID_HANDLE_VALUE,这表明它是有效的。

最佳答案

文档指出:

When writing to a non-blocking, byte-mode pipe handle with insufficient buffer space, WriteFile returns TRUE with *lpNumberOfBytesWritten < nNumberOfBytesToWrite .

当您发送数据的速度超过传输速度时,调制解调器会不会有类似的行为?

关于c++ - 不写入任何数据,WriteFile 怎么能成功呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9428684/

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