文件操作异步IO

xiaoxiao2021-02-28  31

//FILE_FLAG_OVERLAPPED 异步 OVERLAPPED ovd; //不会返回保存的位置 ovd.Offset = 100; ovd.OffsetHigh;//组成一个64位 ovd.hEvent;//事件 方式通知 也可以放别的东西 ovd.Internal;//保存的错误码 错误返回 ovd.InternalHigh;//保存传输成功的字节数 所以 第三个参数没用了。 HANDLE hFile = CreateFile(L"test", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); OVERLAPPED overlapped = { 0 }; overlapped.Offset = 0; BYTE bBuffer[MAXBYTE] = { 0 }; BOOL bRet = ReadFile(hFile, bBuffer, MAXBYTE, nullptr, &overlapped); DWORD dwError = GetLastError(); if (bRet && dwError == ERROR_IO_PENDING) { //请求发送成功 WaitForSingleObject(hFile, INFINITE); }
转载请注明原文地址: https://www.6miu.com/read-600362.html

最新回复(0)