Funzione SymEnumSymbols (dbghelp.h)

Enumera tutti i simboli in un processo.

Sintassi

BOOL IMAGEAPI SymEnumSymbols(
  [in]           HANDLE                         hProcess,
  [in]           ULONG64                        BaseOfDll,
  [in, optional] PCSTR                          Mask,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                          UserContext
);

Parametri

[in] hProcess

Handle di un processo. Questo handle deve essere stato passato in precedenza alla funzione SymInitialize .

[in] BaseOfDll

Indirizzo di base del modulo. Se questo valore è zero e Mask contiene un punto esclamativo (!), la funzione cerca tra i moduli. Se questo valore è zero e Mask non contiene un punto esclamativo, la funzione usa l'ambito stabilito dalla funzione SymSetContext .

[in, optional] Mask

Stringa con caratteri jolly che indica i nomi dei simboli da enumerare. Il testo può facoltativamente contenere caratteri jolly, "*" e "?".

Per specificare un modulo o un set di moduli specifico, iniziare il testo con una stringa con caratteri jolly che specifica il modulo, seguito da un punto esclamativo. Quando si specifica un modulo, BaseOfDll viene ignorato.

Valore Significato
Foo
Se BaseOfDll non è zero, SymEnumSymbols cercherà un simbolo globale denominato "foo".

Se BaseOfDll è zero, SymEnumSymbols cercherà un simbolo locale denominato "foo" nell'ambito stabilito dalla chiamata più recente alla funzione SymSetContext .

Foo?
Se BaseOfDll non è zero, SymEnumSymbols cercherà un simbolo globale che inizia con "foo" e contiene un carattere aggiuntivo in seguito, ad esempio "fool" e "foot".

Se BaseOfDll è zero, SymEnumSymbols cercherà un simbolo che inizia con "foo" e contiene un carattere aggiuntivo in seguito, ad esempio "fool" e "foot". La ricerca si trova nell'ambito stabilito dalla chiamata più recente alla funzione SymSetContext .

foo*!bar
SymEnumSymbols cercherà in ogni modulo caricato che inizia con il testo "foo" per un simbolo denominato "bar". Potrebbe trovare corrispondenze come queste, "foot!bar", "footlocker!bar" e "fool!bar".
*!*
SymEnumSymbols enumera ogni simbolo in ogni modulo caricato.

[in] EnumSymbolsCallback

Funzione di callback SymEnumSymbolsProc che riceve le informazioni sul simbolo.

[in, optional] UserContext

Valore definito dall'utente passato alla funzione di callback o NULL. Questo parametro viene in genere usato da un'applicazione per passare un puntatore a una struttura di dati che fornisce il contesto per la funzione di callback.

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

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

Per chiamare la versione Unicode di questa funzione, definire DBGHELP_TRANSLATE_TCHAR.

Esempio

Per un esempio, vedere Enumerazione dei simboli.

Requisiti

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

Vedi anche

Funzioni DbgHelp

SymEnumSymbolsProc