Я пытаюсь запустить пользовательский драйвер режима ядра на компьютере с 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-битной ОС. Пожалуйста, помогите мне решить эту ошибку.
Спасибо.
sizeof (HANDLE) — это 4 байта для 32-битного приложения, но с точки зрения 64-битного драйвера — это 8 байтов. здесь и ошибка
Других решений пока нет …