Share via


Fonction SymEnumerateModules (dbghelp.h)

Énumère tous les modules qui ont été chargés pour le processus par la fonction SymLoadModule64 ou SymLoadModuleEx .

Syntaxe

BOOL IMAGEAPI SymEnumerateModules(
  [in]           HANDLE                    hProcess,
  [in]           PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
  [in, optional] PVOID                     UserContext
);

Paramètres

[in] hProcess

Handle du processus qui a été passé à l’origine à la fonction SymInitialize .

[in] EnumModulesCallback

Fonction de rappel d’énumération. Cette fonction est appelée une fois par module. Pour plus d’informations, consultez SymEnumerateModulesProc64.

[in, optional] UserContext

Valeur définie par l’utilisateur ou NULL. Cette valeur est simplement passée à la fonction de rappel. Normalement, ce paramètre est utilisé par une application pour passer un pointeur vers une structure de données qui permet à la fonction de rappel d’établir un type de contexte.

Valeur retournée

Si la fonction réussit, la valeur de retour est TRUE.

Si la fonction échoue, la valeur de retour est FALSE. Pour récupérer des informations d’erreur étendues, appelez GetLastError.

Remarques

La fonction SymEnumerateModules64 énumère tous les modules qui ont été chargés pour le processus par SymLoadModule64, même si le chargement des symboles est différé. La fonction de rappel d’énumération est appelée une fois pour chaque module et les informations du module sont transmises.

Toutes les fonctions DbgHelp, telles que celle-ci, sont à thread unique. Par conséquent, les appels de plusieurs threads à cette fonction entraîneront probablement un comportement inattendu ou une altération de la mémoire. Pour éviter cela, vous devez synchroniser tous les appels simultanés de plusieurs threads vers cette fonction.

Pour appeler la version Unicode de cette fonction, définissez DBGHELP_TRANSLATE_TCHAR. SymEnumerateModulesW64 est défini comme suit dans 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

Cette fonction remplace la fonction SymEnumerateModules . Pour plus d’informations, consultez Mise à jour de la prise en charge de la plateforme. SymEnumerateModules est défini comme suit dans 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

Exemples

Pour obtenir un exemple, consultez Énumération de modules de symboles.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête dbghelp.h
Bibliothèque Dbghelp.lib
DLL Dbghelp.dll
Composant redistribuable DbgHelp.dll 5.1 ou version ultérieure

Voir aussi

Fonctions DbgHelp

SymEnumerateModulesProc64

SymInitialize

SymLoadModule64