Share via


SymRegisterFunctionEntryCallback-Funktion (dbghelp.h)

Registriert eine Rückruffunktion zur Verwendung durch die stapelbasierte Prozedur auf Alphacomputern.

Syntax

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

Parameter

[in] hProcess

Ein Handle für den Prozess, der ursprünglich an die StackWalk64-Funktion übergeben wurde.

[in] CallbackFunction

Eine SymRegisterFunctionEntryCallbackProc64-Rückruffunktion .

[in] UserContext

Ein benutzerdefinierter Wert oder NULL. Dieser Wert wird einfach an die Rückruffunktion übergeben. Normalerweise wird dieser Parameter von einer Anwendung verwendet, um einen Zeiger an eine Datenstruktur zu übergeben, mit der die Rückruffunktion einen Kontext einrichten kann.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.

Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Hinweise

Die SymRegisterFunctionEntryCallback64-Funktion ermöglicht es einer Anwendung, eine Rückruffunktion für die Verwendung durch die stapelbasierte Prozedur zu registrieren. Die stapelbasierte Prozedur ruft die registrierte Rückruffunktion auf, wenn sie keinen Funktionstabelleneintrag für eine Adresse finden kann. In den meisten Fällen sucht die Stapel-Prozedur die Funktionstabelleneinträge in der Funktionstabelle des Bilds, das die Adresse enthält. In Situationen, in denen sich die Funktionstabelleneinträge jedoch nicht im Image befinden, ermöglicht dieser Rückruf dem Debugger, den Funktionstabelleneintrag aus einer anderen Quelle bereitzustellen. Beispielsweise kann laufzeitgenerierter Code auf Alphacomputern dynamische Funktionstabellen definieren, um die Ausnahmebehandlung und Stapelablaufverfolgung zu unterstützen.

Alle DbgHelp-Funktionen, z. B. diese, sind singlethreaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.

Diese Funktion ersetzt die SymRegisterFunctionEntryCallback-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymRegisterFunctionEntryCallback ist in Dbghelp.h wie folgt definiert.

#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

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Verteilbare Komponente DbgHelp.dll 5.1 oder höher

Weitere Informationen

DbgHelp-Funktionen

StackWalk64

SymRegisterFunctionEntryCallbackProc64