Compartir a través de


Función SymRegisterFunctionEntryCallback (dbghelp.h)

Registra una función de devolución de llamada para que la use el procedimiento de caminata de pila en equipos Alfa.

Sintaxis

BOOL IMAGEAPI SymRegisterFunctionEntryCallback(
  [in] HANDLE                     hProcess,
  [in] PSYMBOL_FUNCENTRY_CALLBACK CallbackFunction,
  [in] PVOID                      UserContext
);

Parámetros

[in] hProcess

Identificador del proceso que se pasó originalmente a la función StackWalk64 .

[in] CallbackFunction

Una función de devolución de llamada SymRegisterFunctionEntryCallbackProc64 .

[in] UserContext

Valor definido por el usuario o NULL. Este valor se pasa simplemente a la función de devolución de llamada. 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 contexto.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE.

Si se produce un error en la función, el valor devuelto es FALSE. Para recuperar información de error extendida, llame a GetLastError.

Comentarios

La función SymRegisterFunctionEntryCallback64 permite a una aplicación registrar una función de devolución de llamada para que la use el procedimiento de paseo por la pila. El procedimiento de recorrido de pila llama a la función de devolución de llamada registrada cuando no puede encontrar una entrada de tabla de funciones para una dirección. En la mayoría de los casos, el procedimiento de paseo por la pila busca las entradas de la tabla de funciones de la tabla de funciones de la imagen que contiene la dirección. Sin embargo, en situaciones en las que las entradas de la tabla de funciones no están en la imagen, esta devolución de llamada permite al depurador proporcionar la entrada de la tabla de funciones desde otro origen. Por ejemplo, el código generado en tiempo de ejecución en equipos Alfa puede definir tablas de funciones dinámicas para admitir el control de excepciones y el seguimiento de la pila.

Todas las funciones DbgHelp, como esta, son un único subproceso. Por lo tanto, es probable que las llamadas desde más de un subproceso a esta función producirán un comportamiento inesperado o daños en la memoria. Para evitarlo, debe sincronizar todas las llamadas simultáneas de más de un subproceso a esta función.

Esta función sustituye a la función SymRegisterFunctionEntryCallback . Para obtener más información, consulte Compatibilidad con la plataforma actualizada. SymRegisterFunctionEntryCallback se define de la siguiente manera en Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymRegisterFunctionEntryCallback SymRegisterFunctionEntryCallback64
#else
BOOL
IMAGEAPI
SymRegisterFunctionEntryCallback(
    __in HANDLE hProcess,
    __in PSYMBOL_FUNCENTRY_CALLBACK CallbackFunction,
    __in_opt PVOID UserContext
    );
#endif

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado dbghelp.h
Library Dbghelp.lib
Archivo DLL Dbghelp.dll
Redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

Funciones de DbgHelp

StackWalk64

SymRegisterFunctionEntryCallbackProc64