SymEnumerateModules-Funktion (dbghelp.h)
Listet alle Module auf, die von der SymLoadModule64 - oder SymLoadModuleEx-Funktion für den Prozess geladen wurden.
Syntax
BOOL IMAGEAPI SymEnumerateModules(
[in] HANDLE hProcess,
[in] PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
[in, optional] PVOID UserContext
);
Parameter
[in] hProcess
Ein Handle für den Prozess, der ursprünglich an die SymInitialize-Funktion übergeben wurde.
[in] EnumModulesCallback
Die Enumerationsrückruffunktion. Diese Funktion wird einmal pro Modul aufgerufen. Weitere Informationen finden Sie unter SymEnumerateModulesProc64.
[in, optional] 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 auf eine Datenstruktur zu übergeben, mit der die Rückruffunktion einen Kontexttyp 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 SymEnumerateModules64-Funktion listet alle Module auf, die von SymLoadModule64 für den Prozess geladen wurden, auch wenn das Laden des Symbols verzögert wird. Die Enumerationsrückruffunktion wird für jedes Modul einmal aufgerufen und die Modulinformationen übergeben.
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.
Um die Unicode-Version dieser Funktion aufzurufen, definieren Sie DBGHELP_TRANSLATE_TCHAR. SymEnumerateModulesW64 ist in Dbghelp.h wie folgt definiert.
BOOL
IMAGEAPI
SymEnumerateModulesW64(
__in HANDLE hProcess,
__in PSYM_ENUMMODULES_CALLBACKW64 EnumModulesCallback,
__in_opt PVOID UserContext
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymEnumerateModules64 SymEnumerateModulesW64
#endif
Diese Funktion ersetzt die SymEnumerateModules-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymEnumerateModules ist in Dbghelp.h wie folgt definiert.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateModules SymEnumerateModules64
#else
BOOL
IMAGEAPI
SymEnumerateModules(
__in HANDLE hProcess,
__in PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
__in_opt PVOID UserContext
);
#endif
Beispiele
Ein Beispiel finden Sie unter Aufzählen von Symbolmodulen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | dbghelp.h |
Bibliothek | Dbghelp.lib |
DLL | Dbghelp.dll |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |