我想通过调用“ ReadFile” API来读取网络适配器接收的数据。我从CreateFile函数获得了句柄。当我使用获取的句柄调用ReadFile时,它将始终返回错误代码50(不支持请求)。
我在WinObj工具中看到了网络适配器驱动程序,它表明它支持(读/写)。我在网上搜索,但无法确切找出导致此问题的原因。
DWORD lpNumberOfBytesRead = 0;
char buf[1600] = { 0 };
size_t size = 1522;
HANDLE hFile;
hFile = CreateFile("\\\\.\\{7A1C62D4-2FE2-49D6-9090-DFA5FF1F8395}", GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM , 0);
if (hFile == TUNFD_INVALID_VALUE) {
int errcode = GetLastError();
DisplayError(errCode);
return -1;
}
if (ReadFile(hFile, buf, (DWORD)size, &lpNumberOfBytesRead, NULL) == 0) {
int errcode = GetLastError();
DisplayError(errCode);
return -1;
}