Funzione SymEnumerateModules (dbghelp.h)
Enumera tutti i moduli caricati per il processo dalla funzione SymLoadModule64 o SymLoadModuleEx .
Sintassi
BOOL IMAGEAPI SymEnumerateModules(
[in] HANDLE hProcess,
[in] PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
[in, optional] PVOID UserContext
);
Parametri
[in] hProcess
Handle per il processo passato originariamente alla funzione SymInitialize .
[in] EnumModulesCallback
Funzione di callback di enumerazione. Questa funzione viene chiamata una volta per ogni modulo. Per altre informazioni, vedere SymEnumerateModulesProc64.
[in, optional] UserContext
Valore definito dall'utente o NULL. Questo valore viene semplicemente 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 SymEnumerateModules64 enumera tutti i moduli caricati per il processo da SymLoadModule64, anche se il caricamento dei simboli viene posticipato. La funzione di callback di enumerazione viene chiamata una volta per ogni modulo e viene passata alle informazioni sul modulo.
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. SymEnumerateModulesW64 è definito come segue in Dbghelp.h.
BOOL
IMAGEAPI
SymEnumerateModulesW64(
__in HANDLE hProcess,
__in PSYM_ENUMMODULES_CALLBACKW64 EnumModulesCallback,
__in_opt PVOID UserContext
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymEnumerateModules64 SymEnumerateModulesW64
#endif
Questa funzione sostituisce la funzione SymEnumerateModules . Per altre informazioni, vedere Aggiornamento del supporto della piattaforma. SymEnumerateModules è definito come segue in Dbghelp.h.
#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
Esempio
Per un esempio, vedere Enumerazione dei moduli di simboli.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | dbghelp.h |
Libreria | Dbghelp.lib |
DLL | Dbghelp.dll |
Componente ridistribuibile | DbgHelp.dll 5.1 o versione successiva |