Função ReadProcessMemory (memoryapi.h)

Sintaxe

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

Parâmetros

[in] hProcess

Um identificador para o processo com memória que está sendo lida. O identificador deve ter PROCESS_VM_READ acesso ao processo.

[in] lpBaseAddress

Um ponteiro para o endereço base no processo especificado do qual ler. Antes de qualquer transferência de dados ocorrer, o sistema verifica se todos os dados no endereço base e na memória do tamanho especificado estão acessíveis para acesso de leitura e, se não estiverem acessíveis, a função falhará.

[out] lpBuffer

Um ponteiro para um buffer que recebe o conteúdo do espaço de endereço do processo especificado.

[in] nSize

O número de bytes a serem lidos do processo especificado.

[out] lpNumberOfBytesRead

Um ponteiro para uma variável que recebe o número de bytes transferidos para o buffer especificado. Se lpNumberOfBytesRead for NULL, o parâmetro será ignorado.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero (0). Para obter informações de erro estendidas, chame GetLastError.

A função falhará se a operação de leitura solicitada cruzar para uma área do processo que está inacessível.

Comentários

ReadProcessMemory copia os dados no intervalo de endereços especificado do espaço de endereço do processo especificado para o buffer especificado do processo atual. Qualquer processo que tenha um identificador com acesso PROCESS_VM_READ pode chamar a função.

Toda a área a ser lida deve estar acessível e, se não estiver acessível, a função falhará.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho memoryapi.h (inclua Windows.h)
Biblioteca onecore.lib
DLL Kernel32.dll

Confira também

Funções de depuração, OpenProcess, funções de processo para depuração, VirtualAllocEx, WriteProcessMemory