DeviceIoControl返回错误24

时间:2016-07-05 09:32:41

标签: c++ memory kernel driver deviceiocontrol

我正在尝试在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 个答案:

答案 0 :(得分:0)

sizeof(HANDLE) - 这是32位应用程序的4字节,但是从64位驱动程序视图 - 这是8字节。这里和错误