Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Enumera tutti i simboli in un processo.
Sintassi
BOOL IMAGEAPI SymEnumSymbolsW(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCWSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Parametri
[in] hProcess
Handle per 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 utilizza 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 specifico di moduli, 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 |
---|---|
|
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. |
|
Se baseOfDll non è zero, SymEnumSymbols cercherà un simbolo globale che inizia con "foo" e contiene successivamente un carattere aggiuntivo, ad esempio "fool" e "foot".
Se baseOfDll è zero, SymEnumSymbols cercherà un simbolo che inizia con "foo" e contiene successivamente un carattere aggiuntivo, ad esempio "fool" e "foot". La ricerca si trova nell'ambito stabilito dalla chiamata più recente alla funzione SymSetContext. |
|
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 enumererà ogni simbolo in ogni modulo caricato. |
[in] EnumSymbolsCallback
Una SymEnumSymbolsProc funzione di callback 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 non riesce, il valore restituito viene FALSE. Per recuperare informazioni sull'errore estese, chiamare GetLastError.
Osservazioni
Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Pertanto, le chiamate da più thread a questa funzione genereranno probabilmente 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.
Esempi
Per un esempio, vedere 'enumerazione dei simboli.
Nota
L'intestazione dbghelp.h definisce SymEnumSymbols come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
intestazione |
dbghelp.h |
libreria |
Dbghelp.lib |
dll | Dbghelp.dll |
Ridistribuibile | DbgHelp.dll 5.1 o versione successiva |