Share via


SymEnumerateSymbols-Funktion (dbghelp.h)

Listet alle Symbole für ein angegebenes Modul auf.

Hinweis Diese Funktion wird nur aus Kompatibilitätsgründen bereitgestellt. Anwendungen sollten SymEnumSymbols verwenden, das schneller und leistungsfähiger ist.
 

Syntax

DBHLP_DEPRECIATED BOOL IMAGEAPI SymEnumerateSymbols(
  [in]           HANDLE                    hProcess,
  [in]           ULONG                     BaseOfDll,
  [in]           PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                     UserContext
);

Parameter

[in] hProcess

Ein Handle für den Prozess. Dieses Handle muss zuvor an die SymInitialize-Funktion übergeben worden sein.

[in] BaseOfDll

Die Basisadresse des Moduls, für das Symbole aufgelistet werden sollen.

[in] EnumSymbolsCallback

Die Rückruffunktion, die die Symbolinformationen empfängt. Weitere Informationen finden Sie unter SymEnumerateSymbolsProc64.

[in, optional] UserContext

Ein benutzerdefinierter Wert oder NULL. Dieser Wert wird an die Rückruffunktion übergeben. In der Regel 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 SymEnumerateSymbols64-Funktion listet alle Symbole für das angegebene Modul auf. Die Modulinformationen befinden sich über den BaseOfDll-Parameter . Die Rückruffunktion wird einmal pro Symbol aufgerufen und die Informationen für jedes Symbol ü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.

Die Unicode-Version dieser Funktion SymEnumerateSymbolsW64 ist in Dbghelp.h wie folgt definiert.


BOOL
IMAGEAPI
SymEnumerateSymbolsW64(
    __in HANDLE hProcess,
    __in ULONG64 BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACK64W EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );

Diese Funktion ersetzt die SymEnumerateSymbols-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymEnumerateSymbols ist in Dbghelp.h wie folgt definiert.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateSymbols SymEnumerateSymbols64
#define SymEnumerateSymbolsW SymEnumerateSymbolsW64
#else
BOOL
IMAGEAPI
SymEnumerateSymbols(
    __in HANDLE hProcess,
    __in ULONG BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );

BOOL
IMAGEAPI
SymEnumerateSymbolsW(
    __in HANDLE hProcess,
    __in ULONG BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACKW EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );
#endif

Anforderungen

   
Zielplattform Windows
Kopfzeile dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Verteilbare Komponente DbgHelp.dll 5.1 oder höher

Weitere Informationen

DbgHelp-Funktionen

SymEnumSymbols

SymEnumerateSymbolsProc64

SymInitialize