2016-07-05 3 views
-1

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

DeviceIoControl (hDevice, OPEN_PHYSICAL_MEMORY, NULL, 0, тел, 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-битных ОС. Пожалуйста, помогите мне решить эту ошибку.

спасибо.

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^