【问题标题】:DeviceIoControl returns error 24DeviceIoControl 返回错误 24
【发布时间】:2016-11-07 01:57:57
【问题描述】:

我正在尝试在 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 位操作系统中完美运行。请帮我解决这个错误。

谢谢。

【问题讨论】:

    标签: c++ memory kernel driver deviceiocontrol


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 2017-07-13
      • 2014-03-02
      • 1970-01-01
      • 2017-03-21
      • 2016-06-28
      相关资源
      最近更新 更多