Функция ReadFile, возвращающая код ошибки 50 - Запрос не поддерживается - PullRequest
0 голосов
/ 03 мая 2019

Я хочу прочитать данные, полученные сетевыми адаптерами, вызвав API «ReadFile».Я получил дескриптор от функции 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;
}

В приложении Скриншот WinObj, показывающий права доступа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...