[ad_1]
尝试在设备上执行异步 I/O。 我的问题是 ReadFile 返回 ERROR_INVALID_HANDLE。
我相信 Handle 和 OVERLAPPED hEvent 都已初始化,因此如果有人能告诉我我做错了什么,我将非常感激。
我尝试过的:
这是我正在使用的代码:
HANDLE Handle = CreateFileA( ndisprot630, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL ); if (Handle == INVALID_HANDLE_VALUE) { DEBUGP("CreateFile failed, error 0x%x\n", GetLastError()); return(INVALID_HANDLE_VALUE); } OVERLAPPED ol = { 0 }; ol.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); char buf[1500]; if (!ReadFile(Handle, buf, sizeof(buf), NULL, &ol)) { if (GetLastError() != ERROR_IO_PENDING) { DEBUGP("Error starting ReadFile 0x%x\n", GetLastError()); } }
解决方案1
与任何文件读/写或创建一样,请确保文件路径首先具有您的访问权限,即尝试在该位置手动创建记事本文本文件以测试访问权限。 如果这失败了,那么采用编程方法的其他一切都会失败。
[ad_2]
コメント