sau khi dọc bằng lệnh
// attempt an asynchronous read operation
bResult = ReadFile(handle,pData,dwLen,&nBytesRead,&gOverlapp ed);
người ta kiểm tra kết quả trả về
if(!bResult)
{
KL1
}
else
{
KL2
}
Mục đích của KL1 là nếu đọc chưa được thì đợi, đọc và cập nhật lại bResult.
Do đó sủ dụng lệnh
WaitForSingleObject(gOverlapped.hEvent, dwMilliseconds)
Như vậy tốc độ < 1Khz.
Nhưng ngay cả khi minh lấy dwMilliseconds=10, truyền 10Byte vẫn lỗi.
Bây giờ ý mình là ko đợi nữa,
if(!bResult)
{
CancelIo(handle);
break;
}
else
{
KL2
}
ResetEvent(gOverlapped.hEvent);
CloseHandle(gOverlapped.hEvent);
Có ok không nhỉ ?
|