SymEnumSymbols-Funktion (dbghelp.h)
Listet alle Symbole in einem Prozess auf.
Syntax
BOOL IMAGEAPI SymEnumSymbols(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Parameter
[in] hProcess
Ein Handle für einen Prozess. Dieses Handle muss zuvor an die SymInitialize-Funktion übergeben worden sein.
[in] BaseOfDll
Die Basisadresse des Moduls. Wenn dieser Wert 0 ist und Mask ein Ausrufezeichen (!) enthält, sucht die Funktion moduleübergreifend. Wenn dieser Wert 0 ist und Mask kein Ausrufezeichen enthält, verwendet die Funktion den bereich, der von der SymSetContext-Funktion eingerichtet wurde.
[in, optional] Mask
Eine Feldhalterzeichenfolge, die die Namen der aufzuzählenden Symbole angibt. Der Text kann optional die Platzhalter "*" und "?"enthalten.
Um ein bestimmtes Modul oder einen bestimmten Satz von Modulen anzugeben, beginnen Sie den Text mit einer Platzhalterzeichenfolge, die das Modul angibt, gefolgt von einem Ausrufezeichen. Beim Angeben eines Moduls wird BaseOfDll ignoriert.
Wert | Bedeutung |
---|---|
|
Wenn BaseOfDll nicht 0 ist, sucht SymEnumSymbols nach einem globalen Symbol namens "foo".
Wenn BaseOfDll null ist, sucht SymEnumSymbols nach einem lokalen Symbol namens "foo" innerhalb des Bereichs, der durch den letzten Aufruf der SymSetContext-Funktion eingerichtet wurde. |
|
Wenn BaseOfDll nicht 0 ist, sucht SymEnumSymbols nach einem globalen Symbol, das mit "foo" beginnt und danach ein zusätzliches Zeichen enthält, z. B. "fool" und "foot".
Wenn BaseOfDll null ist, sucht SymEnumSymbols nach einem Symbol, das mit "foo" beginnt und danach ein zusätzliches Zeichen enthält, z. B. "fool" und "foot". Die Suche würde sich innerhalb des Bereichs befinden, der durch den letzten Aufruf der SymSetContext-Funktion festgelegt wurde. |
|
SymEnumSymbols sucht in jedem geladenen Modul, das mit dem Text "foo" beginnt, nach einem Symbol namens "bar". Es könnte Übereinstimmungen wie diese finden, "foot!bar", "footlocker!bar" und "fool!bar". |
|
SymEnumSymbols listet jedes Symbol in jedem geladenen Modul auf. |
[in] EnumSymbolsCallback
Eine SymEnumSymbolsProc-Rückruffunktion , die die Symbolinformationen empfängt.
[in, optional] UserContext
Ein benutzerdefinierter Wert, der an die Rückruffunktion ( NULL) übergeben wird. Dieser Parameter wird in der Regel von einer Anwendung verwendet, um einen Zeiger an eine Datenstruktur zu übergeben, die Kontext für die Rückruffunktion bereitstellt.
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
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.
Beispiele
Ein Beispiel finden Sie unter Aufzählen von Symbolen.
Anforderungen
Zielplattform | Windows |
Kopfzeile | dbghelp.h |
Bibliothek | Dbghelp.lib |
DLL | Dbghelp.dll |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |