Condividi tramite


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

Vedi anche

Funzioni DbgHelp

SymEnumerateModulesProc64

SymInitialize

SymLoadModule64