DeviceIoControl возвращает ошибку 24

Я пытаюсь запустить пользовательский драйвер режима ядра на компьютере с Windows 7 (64 бит). Служба драйвера была запущена, но запрос управления IO возвращает ошибку.

DeviceIoControl (hDevice, OPEN_PHYSICAL_MEMORY, NULL, 0, ph, sizeof (HANDLE), cb, NULL)

и #define OPEN_PHYSICAL_MEMORY __CTL_CODE (0x8124, 0x801, 0, FILE_READ_DATA).

Getlasterror () возвращает код ошибки 24.

ERROR_BAD_LENGTH

24 (0x18)

The program issued a command but the command length is incorrect.

Функция отлично работает в 32-битной ОС. Пожалуйста, помогите мне решить эту ошибку.

Спасибо.

-1

Решение

sizeof (HANDLE) — это 4 байта для 32-битного приложения, но с точки зрения 64-битного драйвера — это 8 байтов. здесь и ошибка

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]