2016-07-05 17 views
-1

Ich versuche, einen benutzerdefinierten Kernel-Modus-Treiber auf einem Windows 7 (64 Bit) -Maschine auszuführen. Der Treiberdienst wurde gestartet, aber die IO-Steueranforderung gibt einen Fehler zurück.DeviceIoControl gibt Fehler 24

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

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

Die GetLastError() gibt Codefehler 24.

ERROR_BAD_LENGTH

24 (0x18) 

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

Die Funktion perfekt in 32-Bit-Betriebssystem läuft. Bitte helfen Sie mir, diesen Fehler zu beheben.

Vielen Dank.

Antwort

0

sizeof (HANDLE) - das ist 4 Byte für 32-Bit-App, aber von 64-Bit-Treiberansicht - das ist 8 Byte. hier und Fehler