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 |