Compartir a través de


PREAD_PROCESS_MEMORY_ROUTINE función de devolución de llamada (dbghelp.h)

Función de devolución de llamada definida por la aplicación que se usa con la función StackWalk64 . Se llama cuando StackWalk64 necesita leer la memoria del espacio de direcciones del proceso.

El tipo PREAD_PROCESS_MEMORY_ROUTINE64 define un puntero a esta función de devolución de llamada. ReadProcessMemoryProc64 es un marcador de posición para el nombre de función definido por la aplicación.

Sintaxis

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

Identificador del proceso para el que se genera el seguimiento de la pila.

[in] lpBaseAddress

Dirección base de la memoria que se va a leer.

[out] lpBuffer

Puntero a un búfer que recibe la memoria que se va a leer.

[in] nSize

Tamaño de la memoria que se va a leer, en bytes.

[out] lpNumberOfBytesRead

Puntero a una variable que recibe el número de bytes leídos realmente.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto debe ser TRUE. Si se produce un error en la función, el valor devuelto debe ser FALSE.

Comentarios

En muchos casos, esta función puede atender mejor la devolución de llamada con una llamada correspondiente a ReadProcessMemory.

Esta función debe leer la mayor cantidad de memoria solicitada posible. La función StackWalk64 controla el caso en el que solo se lee parte de la memoria solicitada.

Esta función de devolución de llamada reemplaza a la función de devolución de llamada PREAD_PROCESS_MEMORY_ROUTINE . PREAD_PROCESS_MEMORY_ROUTINE se define de la siguiente manera en 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 Value
Plataforma de destino Windows
Encabezado dbghelp.h
Redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

Funciones de DbgHelp

ReadProcessMemory

StackWalk64