1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
HANDLE hld = CreateFile(_dlg->m_sName,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
_Overlapped.hEvent = _hEventR;
_bRes = ReadFile(hld,
_dlg->m_InBuffer,
_ulBytesToRead,
&_ulByteCount,
&_Overlapped);
//wait until the event is signaled
DWORD waitResult = WaitForSingleObject(_hEventR,5000);
DWORD _dError = GetLastError();
CString str;
str.Format("%#x", _dError);
_dlg->MessageBox(str);
if (waitResult == WAIT_TIMEOUT)
{
CancelIo(hld);
}
WaitForSingleObject(_hEventR, INFINITE); |
Partager