Compartir a través de


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

Una función de devolución de llamada definida por la aplicación que se usa con la función SymEnumerateSymbols64 . Se llama una vez para cada símbolo enumerado y recibe la información del símbolo.

Los tipos PSYM_ENUMSYMBOLS_CALLBACK64 y PSYM_ENUMSYMBOLS_CALLBACK64W definen un puntero a esta función de devolución de llamada. SymEnumerateSymbolsProc64 es un marcador de posición para el nombre de función definido por la aplicación.

Nota Esta función solo se proporciona por motivos de compatibilidad. Las aplicaciones deben usar SymEnumSymbols.
 

Sintaxis

PSYM_ENUMSYMBOLS_CALLBACK PsymEnumsymbolsCallback;

BOOL PsymEnumsymbolsCallback(
  [in]           PCSTR SymbolName,
  [in]           ULONG SymbolAddress,
  [in]           ULONG SymbolSize,
  [in, optional] PVOID UserContext
)
{...}

Parámetros

[in] SymbolName

Nombre del símbolo. El nombre se puede descodificar si se usa la opción SYMOPT_UNDNAME con la función SymSetOptions .

[in] SymbolAddress

Dirección virtual del principio del símbolo.

[in] SymbolSize

Tamaño del símbolo, en bytes. El tamaño se calcula y es realmente un valor de estimación más adecuado. En algunos casos, el valor puede ser cero.

[in, optional] UserContext

Valor definido por el usuario especificado en SymEnumerateSymbols64 o NULL. Normalmente, una aplicación usa este parámetro para pasar un puntero a una estructura de datos que permite que la función de devolución de llamada establezca algún tipo de contexto.

Valor devuelto

Si la función devuelve TRUE, la enumeración continuará.

Si la función devuelve FALSE, la enumeración se detendrá.

Comentarios

Se llama a la aplicación que realiza la llamada una vez por símbolo hasta que se enumeran todos los símbolos o hasta que la función de devolución de llamada de enumeración devuelve FALSE.

Esta función de devolución de llamada reemplaza a la función de devolución de llamada PSYM_ENUMSYMBOLS_CALLBACK . PSYM_ENUMSYMBOLS_CALLBACK se define de la siguiente manera en Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64
#define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACK64W
#else
typedef BOOL
(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(
    __in PCSTR SymbolName,
    __in ULONG SymbolAddress,
    __in ULONG SymbolSize,
    __in_opt PVOID UserContext
    );

typedef BOOL
(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)(
    __in PCWSTR SymbolName,
    __in ULONG SymbolAddress,
    __in ULONG SymbolSize,
    __in_opt PVOID UserContext
    );
#endif

Requisitos

   
Plataforma de destino Windows
Encabezado dbghelp.h
Redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

Funciones de DbgHelp

SymEnumSymbols

SymEnumerateSymbols64