https://docs.microsoft.com/zh-cn/windows/win32/api/ioapiset/nf-ioapiset-getoverlappedresult添加链接描述
GetOverlappedResult这个函数的主要作用不过是将Overlapped返回的结果进行一次简单的分析而已。
dwErrorRet = WaitForSingleObject(overlapped.hEvent, milliseconds);
if(WAIT_OBJECT_0 == dwErrorRet)//WAIT_OBJECT_0 0x00000000 :指定的对象出有有信号状态
{
GetOverlappedResult(m_hWriteEvent, &overlapped, &dwNumberofBytesWritten, FALSE);
}
一次重叠写操作过程(GetOverlappedResult方法):
1.填写一个OVERLAPPED结构
2.进行一次写操作,并指定重叠操作参数(上面的OVERLAPPED结构变量的指针)
3.做其它事(如更新界面)
4.GetOverlappedResult取操作结果
5.如果IO请求没有完成,并且没有出错则回到3
6.处理IO操作结果
例2.一次重叠写操作过程(完成例程方法):
1.填写一个OVERLAPPED结构
2.进行一次写操作,并指定重叠操作参数(上面的OVERLAPPED结构变量的指针),并指定完成例程
3.做其它事(如更新界面)
4.当完成例程被调用说明IO操作已经完成或出错,现在可以对操作结果进行处理了