|
阅读:1610回复:0
[求助]deviceiocontrol异步错误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执行成功之后才会恢复。 请问下这个是什么原因 |
|