Voltar à lista
Windows Win32Memóriakernel32.dll

ReadProcessMemory

Lê memória do espaço de endereçamento de outro processo.

Descrição

Equivalente funcional ao `process_vm_readv` do Linux — base de depuradores e ferramentas de análise de memória.

Header: memoryapi.hDLL: kernel32.dllNative API: NtReadVirtualMemory

Assinatura

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

Parâmetros

ParâmetroTipoDescrição
hProcessHANDLEHandle do processo alvo, com direito PROCESS_VM_READ.
lpBaseAddressLPCVOIDEndereço inicial a ler, no espaço do processo alvo.
lpBufferLPVOIDBuffer local que recebe os dados.
nSizeSIZE_TNúmero de bytes a ler.
lpNumberOfBytesReadSIZE_T *Se não for NULL, recebe o número de bytes efetivamente lidos.

Valor de retorno

Diferente de zero em sucesso; 0 em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_ACCESS_DENIED(5)
Acesso negado.
ERROR_PARTIAL_COPY(299)
Apenas parte de uma solicitação de leitura/gravação de memória de processo foi concluída.
ERROR_NOACCESS(998)
Tentativa inválida de acesso a memória.

Relacionadas