Compartilhar via


PREAD_PROCESS_MEMORY_ROUTINE função de retorno de chamada (dbghelp.h)

Uma função de retorno de chamada definida pelo aplicativo usada com a função StackWalk64 . Ele é chamado quando StackWalk64 precisa ler a memória do espaço de endereço do processo.

O tipo PREAD_PROCESS_MEMORY_ROUTINE64 define um ponteiro para essa função de retorno de chamada. ReadProcessMemoryProc64 é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

PREAD_PROCESS_MEMORY_ROUTINE PreadProcessMemoryRoutine;

BOOL PreadProcessMemoryRoutine(
  [in]  HANDLE hProcess,
  [in]  DWORD lpBaseAddress,
  [out] PVOID lpBuffer,
  [in]  DWORD nSize,
  [out] PDWORD lpNumberOfBytesRead
)
{...}

Parâmetros

[in] hProcess

Um identificador para o processo para o qual o rastreamento de pilha é gerado.

[in] lpBaseAddress

O endereço base da memória a ser lida.

[out] lpBuffer

Um ponteiro para um buffer que recebe a memória a ser lida.

[in] nSize

O tamanho da memória a ser lida, em bytes.

[out] lpNumberOfBytesRead

Um ponteiro para uma variável que recebe o número de bytes realmente lidos.

Retornar valor

Se a função for bem-sucedida, o valor retornado deverá ser TRUE. Se a função falhar, o valor retornado deverá ser FALSE.

Comentários

Em muitos casos, essa função pode atender melhor ao retorno de chamada com uma chamada correspondente para ReadProcessMemory.

Essa função deve ler o máximo possível da memória solicitada. A função StackWalk64 manipula o caso em que apenas parte da memória solicitada é lida.

Essa função de retorno de chamada substitui a função de retorno de chamada PREAD_PROCESS_MEMORY_ROUTINE. PREAD_PROCESS_MEMORY_ROUTINE é definido da seguinte maneira em Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PREAD_PROCESS_MEMORY_ROUTINE PREAD_PROCESS_MEMORY_ROUTINE64
#else
typedef
BOOL
(__stdcall *PREAD_PROCESS_MEMORY_ROUTINE)(
    __in HANDLE hProcess,
    __in DWORD lpBaseAddress,
    __out_bcount(nSize) PVOID lpBuffer,
    __in DWORD nSize,
    __out PDWORD lpNumberOfBytesRead
    );
#endif

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho dbghelp.h
Redistribuível DbgHelp.dll 5.1 ou posterior

Confira também

Funções DbgHelp

ReadProcessMemory

StackWalk64