PSYM_ENUMSYMBOLS_CALLBACK Rückruffunktion (dbghelp.h)
Eine anwendungsdefinierte Rückruffunktion, die mit der SymEnumerateSymbols64-Funktion verwendet wird. Es wird für jedes aufgezählte Symbol einmal aufgerufen und empfängt die Symbolinformationen.
Die PSYM_ENUMSYMBOLS_CALLBACK64 - und PSYM_ENUMSYMBOLS_CALLBACK64W-Typen definieren einen Zeiger auf diese Rückruffunktion. SymEnumerateSymbolsProc64 ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
Syntax
PSYM_ENUMSYMBOLS_CALLBACK PsymEnumsymbolsCallback;
BOOL PsymEnumsymbolsCallback(
[in] PCSTR SymbolName,
[in] ULONG SymbolAddress,
[in] ULONG SymbolSize,
[in, optional] PVOID UserContext
)
{...}
Parameter
[in] SymbolName
Der Name des Symbols. Der Name kann nicht ausgebucht werden, wenn die Option SYMOPT_UNDNAME mit der SymSetOptions-Funktion verwendet wird.
[in] SymbolAddress
Die virtuelle Adresse für den Anfang des Symbols.
[in] SymbolSize
Die Größe des Symbols in Bytes. Die Größe wird berechnet und ist tatsächlich ein Best-Guess-Wert. In einigen Fällen kann der Wert 0 sein.
[in, optional] UserContext
Der benutzerdefinierte Wert, der in SymEnumerateSymbols64 oder NULL angegeben ist. In der Regel wird dieser Parameter von einer Anwendung verwendet, um einen Zeiger an eine Datenstruktur zu übergeben, mit der die Rückruffunktion einen Typ von Kontext einrichten kann.
Rückgabewert
Wenn die Funktion TRUE zurückgibt, wird die Enumeration fortgesetzt.
Wenn die Funktion FALSE zurückgibt, wird die Enumeration beendet.
Hinweise
Die aufrufende Anwendung wird einmal pro Symbol aufgerufen, bis alle Symbole aufgelistet sind oder bis die Enumerationsrückruffunktion FALSE zurückgibt.
Diese Rückruffunktion ersetzt die PSYM_ENUMSYMBOLS_CALLBACK Rückruffunktion. PSYM_ENUMSYMBOLS_CALLBACK wird in Dbghelp.h wie folgt definiert.
#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
Anforderungen
Zielplattform | Windows |
Kopfzeile | dbghelp.h |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |