我打开了一个文件
HANDLE handle=
CreateFileW(
fileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, NULL);
然后将文件句柄用于异步读取操作:
ReadFile(handle, buffer, 1, NULL, &overlapped);
这行得通。但是,我现在想做一个同步写入。WriteFile
文件指出
如果 hFile 是使用 FILE_FLAG_OVERLAPPED 打开的,则以下条件生效:
• lpOverlapped 参数必须指向一个有效且唯一的 OVERLAPPED 结构,否则该函数可能会错误地报告写操作已完成。
lpOverlapepd
省略参数时,ERROR_INVALID_PARAMETER
由 . 返回GetLastError()
。打开两个句柄,一个用于读取,一个用于写入也不起作用,因为第二个句柄会产生ERROR_ACCESS_DENIED
错误。
如何打开文件进行异步读取和同步写入?我不想不必要地增加代码复杂性。