Funzione SymEnumerateSymbols (dbghelp.h)

Enumera tutti i simboli per un modulo specificato.

Nota Questa funzione viene fornita solo per la compatibilità. Le applicazioni devono usare SymEnumSymbols, che è più veloce e più potente.
 

Sintassi

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

Parametri

[in] hProcess

Handle per il processo. Questo handle deve essere stato passato in precedenza alla funzione SymInitialize .

[in] BaseOfDll

Indirizzo di base del modulo per il quale devono essere enumerati i simboli.

[in] EnumSymbolsCallback

Funzione di callback che riceve le informazioni sul simbolo. Per altre informazioni, vedere SymEnumerateSymbolsProc64.

[in, optional] UserContext

Valore definito dall'utente o NULL. Questo valore viene passato alla funzione di callback. In genere, questo parametro viene usato da un'applicazione per passare un puntatore a una struttura di dati che consente alla funzione di callback di stabilire un tipo di contesto.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è TRUE.

Se la funzione ha esito negativo, il valore restituito è FALSE. Per recuperare informazioni sull'errore estese, chiamare GetLastError.

Commenti

La funzione SymEnumerateSymbols64 enumera tutti i simboli per il modulo specificato. Le informazioni sul modulo si trovano nel parametro BaseOfDll . La funzione di callback viene chiamata una volta per simbolo e viene passata le informazioni per ogni simbolo.

Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Pertanto, le chiamate da più thread a questa funzione potrebbero causare un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.

La versione Unicode di questa funzione, SymEnumerateSymbolsW64 è definita come segue in Dbghelp.h.


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

Questa funzione sostituisce la funzione SymEnumerateSymbols . Per altre informazioni, vedere Supporto della piattaforma aggiornato. SymEnumerateSymbols è definito come indicato di seguito in Dbghelp.h.

#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

Requisiti

   
Piattaforma di destinazione Windows
Intestazione dbghelp.h
Libreria Dbghelp.lib
DLL Dbghelp.dll
Componente ridistribuibile DbgHelp.dll 5.1 o versioni successive

Vedi anche

Funzioni DbgHelp

SymEnumSymbols

SymEnumerateSymbolsProc64

SymInitialize