hackwolf
驱动牛犊
驱动牛犊
  • 注册日期2009-01-08
  • 最后登录2010-03-04
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1521回复:0

[求助]deviceiocontrol异步错误

楼主#
更多 发布于:2009-04-18 14:39

HANDLE hFile = = CreateFile(this->m_linkname , GENERIC_READ ,
        0 , NULL , OPEN_EXISTING, 
        FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, NULL);
OVERLAPPED ol = {0};
ol.hEvent = ::CreateEvent(NULL , FALSE , FALSE , NULL);
::DeviceIoControl(hFile , TESTDRIVER, 0 , NULL,
                buf , 4 , &dwRet , &ol);
//等待受信,貌似不能成功。。。
while(::WaitForSingleObject(ol.hEvent , 300) == WAIT_TIMEOUT) 
{
    AfxMessageBox("等待中");
}



在WaitForSingleObject的时候不会弹出对话框,貌似线程阻塞住了,一直等到DeviceIoControl执行成功之后才会恢复。

请问下这个是什么原因
游客

返回顶部