SymEnumSymbolsW-Funktion (dbghelp.h)
Listet alle Symbole in einem Prozess auf.
Syntax
BOOL IMAGEAPI SymEnumSymbolsW(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCWSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Parameter
[in] hProcess
Ein Handle für einen Prozess. Dieser Handle muss zuvor an die SymInitialize Funktion übergeben worden sein.
[in] BaseOfDll
Die Basisadresse des Moduls. Wenn dieser Wert null ist und Mask ein Ausrufezeichen (!)enthält, sieht die Funktion über Module hinweg. Wenn dieser Wert null ist und Mask- kein Ausrufezeichen enthält, verwendet die Funktion den Bereich, der durch die SymSetContext-funktion festgelegt wurde.
[in, optional] Mask
Eine Wildcardzeichenfolge, die die Namen der symbole angibt, die aufgezählt werden sollen. Der Text kann optional die Wildcards "*" und "?" enthalten.
Um ein bestimmtes Modul oder eine Gruppe 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 null ist, sucht SymEnumSymbols- nach einem globalen Symbol namens "foo".
Wenn BaseOfDll- null ist, sucht SymEnumSymbols- innerhalb des Bereichs, der durch den letzten Aufruf der SymSetContext- funktion eingerichtet wurde, nach einem lokalen Symbol namens "foo". |
|
Wenn BaseOfDll nicht null ist, sucht SymEnumSymbols nach einem globalen Symbol, das mit "foo" beginnt und danach ein zusätzliches Zeichen enthält, z. B. "Narr" und "Fuß".
Wenn BaseOfDll null ist, sucht SymEnumSymbols nach einem Symbol, das mit "foo" beginnt und danach ein zusätzliches Zeichen enthält, z. B. "Narr" und "Fuß". Die Suche würde sich innerhalb des Bereichs befinden, der durch den letzten Aufruf der SymSetContext--Funktion eingerichtet wurde. |
|
SymEnumSymbols- werden in jedem geladenen Modul angezeigt, das mit dem Text "foo" für ein Symbol namens "bar" beginnt. Es könnte Übereinstimmungen wie diese finden, "foot!bar", "footlocker!bar" und "nar!bar". |
|
SymEnumSymbols alle Symbole in jedem geladenen Modul aufzählen. |
[in] EnumSymbolsCallback
Eine SymEnumSymbolsProc Rückruffunktion, die die Symbolinformationen empfängt.
[in, optional] UserContext
Ein benutzerdefinierter Wert, der an die Rückruffunktion übergeben wird, oder NULL-. 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 GetLastErrorauf, um erweiterte Fehlerinformationen abzurufen.
Bemerkungen
Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. Daher führen Aufrufe von mehr als einem Thread zu dieser Funktion wahrscheinlich zu unerwartetem Verhalten oder Speicherbeschädigung. Um dies zu vermeiden, müssen Sie alle gleichzeitigen Aufrufe von mehr als einem Thread mit dieser Funktion synchronisieren.
Um die Unicode-Version dieser Funktion aufzurufen, definieren Sie DBGHELP_TRANSLATE_TCHAR.
Beispiele
Ein Beispiel finden Sie unter Enumerating Symbols.
Anmerkung
Der dbghelp.h-Header definiert SymEnumSymbols als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Fenster |
Header- | dbghelp.h |
Library | Dbghelp.lib |
DLL- | Dbghelp.dll |
redistributable | DbgHelp.dll 5.1 oder höher |