ReadProcessMemory, fonction (memoryapi.h)

Syntaxe

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

Paramètres

[in] hProcess

Handle du processus avec de la mémoire en cours de lecture. Le handle doit avoir PROCESS_VM_READ accès au processus.

[in] lpBaseAddress

Pointeur vers l’adresse de base dans le processus spécifié à partir duquel lire. Avant tout transfert de données, le système vérifie que toutes les données de l’adresse de base et de la mémoire de la taille spécifiée sont accessibles pour l’accès en lecture, et si elles ne sont pas accessibles, la fonction échoue.

[out] lpBuffer

Pointeur vers une mémoire tampon qui reçoit le contenu de l’espace d’adressage du processus spécifié.

[in] nSize

Nombre d’octets à lire à partir du processus spécifié.

[out] lpNumberOfBytesRead

Pointeur vers une variable qui reçoit le nombre d’octets transférés dans la mémoire tampon spécifiée. Si lpNumberOfBytesRead a la valeur NULL, le paramètre est ignoré.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est zéro (0). Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

La fonction échoue si l’opération de lecture demandée traverse une zone du processus inaccessible.

Notes

ReadProcessMemory copie les données de la plage d’adresses spécifiée à partir de l’espace d’adressage du processus spécifié dans la mémoire tampon spécifiée du processus actuel. Tout processus disposant d’un handle avec accès PROCESS_VM_READ peut appeler la fonction.

La zone entière à lire doit être accessible et, si elle n’est pas accessible, la fonction échoue.

Spécifications

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête memoryapi.h (inclure Windows.h)
Bibliothèque onecore.lib
DLL Kernel32.dll

Voir aussi

Fonctions de débogage, OpenProcess, Fonctions de processus pour le débogage, VirtualAllocEx, WriteProcessMemory