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