Share via


SymRegisterCallback-Funktion (dbghelp.h)

Registriert eine Rückruffunktion zur Verwendung durch den Symbolhandler.

Syntax

BOOL IMAGEAPI SymRegisterCallback(
  [in] HANDLE                      hProcess,
  [in] PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
  [in] PVOID                       UserContext
);

Parameter

[in] hProcess

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

[in] CallbackFunction

Eine SymRegisterCallbackProc64-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

Mit der SymRegisterCallback64-Funktion kann eine Anwendung eine Rückruffunktion für die Verwendung durch den Symbolhandler registrieren. Der Symbolhandler ruft die registrierte Rückruffunktion auf, wenn status- oder Statusinformationen für die Anwendung vorhanden sind.

Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. 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.

Um die Unicode-Version dieser Funktion aufzurufen, definieren Sie DBGHELP_TRANSLATE_TCHAR. SymRegisterCallbackW64 wird in Dbghelp.h wie folgt definiert.

BOOL
IMAGEAPI
SymRegisterCallbackW64(
    __in HANDLE hProcess,
    __in PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
    __in ULONG64 UserContext
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymRegisterCallback64   SymRegisterCallbackW64
#endif

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

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymRegisterCallback SymRegisterCallback64
#else
BOOL
IMAGEAPI
SymRegisterCallback(
    __in HANDLE hProcess,
    __in PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
    __in_opt PVOID UserContext
    );
#endif

Ein ausführliches Beispiel finden Sie unter Abrufen von Benachrichtigungen.

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

Abrufen von Benachrichtigungen

SymInitialize

SymRegisterCallbackProc64