Freigeben über


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

Weitere Informationen

DbgHelp-Funktionen

SymEnumerateModulesProc64

SymInitialize

SymLoadModule64