首页
社区
课程
招聘
[求助]关于串口通讯重叠操作函数GetOverlappedResult的问题
2006-7-5 11:07 6261

[求助]关于串口通讯重叠操作函数GetOverlappedResult的问题

2006-7-5 11:07
6261
BOOL GetOverlappedResult(
  HANDLE hFile,                       // handle to file, pipe, or device
  LPOVERLAPPED lpOverlapped,          // overlapped structure
  LPDWORD lpNumberOfBytesTransferred, // bytes transferred
  BOOL bWait                          // wait option
);

这是MSDN上函数的原型,我的理解是:此函数的第4个参数,如果设置为TRUE,那么就会等到异步I/O操作完成后才返回.
可为什么我在使用这个函数的时候,立刻就返回了呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-7-5 12:32
2
0
首先检查下各个参数是否正确,例如hFile是否有效
另外如果lpOverlapped中设置了事件对象,那么是否有可能该对象在其他对方受信

可以参考下:
<<Windows系统编程之异步I/O和完成端口 >>
http://bbs.pediy.com/showthread.php?s=&threadid=28342

其中有关于重叠I/O的三个代码示例及分析
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
masmprogra 2006-7-5 14:13
3
0
最初由 北极星2003 发布
首先检查下各个参数是否正确,例如hFile是否有效
另外如果lpOverlapped中设置了事件对象,那么是否有可能该对象在其他对方受信

可以参考下:
<<Windows系统编程之异步I/O和完成端口 >>
........


谢谢版版的解答,我正在看你写的那篇文章,颇有收获
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
masmprogra 2006-7-5 15:39
4
0
最初由 北极星2003 发布
首先检查下各个参数是否正确,例如hFile是否有效
另外如果lpOverlapped中设置了事件对象,那么是否有可能该对象在其他对方受信

可以参考下:
<<Windows系统编程之异步I/O和完成端口 >>
........


找到问题所在了,是因为 COMMTIMEOUTS 超时结构体的读超时设的太短造成的.
游客
登录 | 注册 方可回帖
返回