ReadProcessMemory-Funktion (memoryapi.h)

Syntax

BOOL ReadProcessMemory(
  [in]  HANDLE  hProcess,
  [in]  LPCVOID lpBaseAddress,
  [out] LPVOID  lpBuffer,
  [in]  SIZE_T  nSize,
  [out] SIZE_T  *lpNumberOfBytesRead
);

Parameter

[in] hProcess

Ein Handle für den Prozess mit Lesearbeitsspeicher. Das Handle muss über PROCESS_VM_READ Zugriff auf den Prozess verfügen.

[in] lpBaseAddress

Ein Zeiger auf die Basisadresse im angegebenen Prozess, aus dem gelesen werden soll. Bevor eine Datenübertragung erfolgt, überprüft das System, ob auf alle Daten in der Basisadresse und im Arbeitsspeicher der angegebenen Größe für den Lesezugriff zugegriffen werden kann, und wenn nicht darauf zugegriffen werden kann, schlägt die Funktion fehl.

[out] lpBuffer

Ein Zeiger auf einen Puffer, der den Inhalt aus dem Adressraum des angegebenen Prozesses empfängt.

[in] nSize

Die Anzahl der Bytes, die aus dem angegebenen Prozess gelesen werden sollen.

[out] lpNumberOfBytesRead

Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die in den angegebenen Puffer übertragen werden. Wenn lpNumberOfBytesReadNULL ist, wird der Parameter ignoriert.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert 0 (null). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Die Funktion schlägt fehl, wenn der angeforderte Lesevorgang in einen Bereich des Prozesses übergeht, auf den nicht zugegriffen werden kann.

Hinweise

ReadProcessMemory kopiert die Daten im angegebenen Adressbereich aus dem Adressraum des angegebenen Prozesses in den angegebenen Puffer des aktuellen Prozesses. Jeder Prozess, der über ein Handle mit PROCESS_VM_READ Zugriff verfügt, kann die Funktion aufrufen.

Der gesamte zu lesende Bereich muss zugänglich sein, und wenn nicht darauf zugegriffen werden kann, schlägt die Funktion fehl.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile memoryapi.h (windows.h einschließen)
Bibliothek onecore.lib
DLL Kernel32.dll

Siehe auch

Debugging Functions, OpenProcess, Process Functions for Debugging, VirtualAllocEx, WriteProcessMemory