Fonction SymEnumSymbols (dbghelp.h)
Énumère tous les symboles d’un processus.
Syntaxe
BOOL IMAGEAPI SymEnumSymbols(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Paramètres
[in] hProcess
Handle d’un processus. Ce handle doit avoir été précédemment passé à la fonction SymInitialize .
[in] BaseOfDll
Adresse de base du module. Si cette valeur est égale à zéro et que Mask contient un point d’exclamation (!), la fonction examine plusieurs modules. Si cette valeur est égale à zéro et que Mask ne contient pas de point d’exclamation, la fonction utilise l’étendue établie par la fonction SymSetContext .
[in, optional] Mask
Chaîne générique qui indique les noms des symboles à énumérer. Le texte peut éventuellement contenir les caractères génériques « * » et « ? ».
Pour spécifier un module ou un ensemble spécifique de modules, commencez le texte par une chaîne générique spécifiant le module, suivie d’un point d’exclamation. Lors de la spécification d’un module, BaseOfDll est ignoré.
Valeur | Signification |
---|---|
|
Si BaseOfDll n’est pas égal à zéro, SymEnumSymbols recherche un symbole global nommé « foo ».
Si BaseOfDll est égal à zéro, SymEnumSymbols recherche un symbole local nommé « foo » dans l’étendue établie par l’appel le plus récent à la fonction SymSetContext . |
|
Si BaseOfDll n’a pas la valeur zéro, SymEnumSymbols recherche un symbole global qui commence par « foo » et contient ensuite un caractère supplémentaire, tel que « idiot » et « pied ».
Si BaseOfDll est égal à zéro, SymEnumSymbols recherche un symbole qui commence par « foo » et contient un caractère supplémentaire par la suite, tel que « idiot » et « pied ». La recherche se trouverait dans l’étendue établie par l’appel le plus récent à la fonction SymSetContext . |
|
SymEnumSymbols recherche dans chaque module chargé qui commence par le texte « foo » un symbole appelé « bar ». Il pouvait trouver des correspondances telles que celles-ci, « foot!bar », « footlocker!bar » et « fool!bar ». |
|
SymEnumSymbols énumère chaque symbole dans chaque module chargé. |
[in] EnumSymbolsCallback
Fonction de rappel SymEnumSymbolsProc qui reçoit les informations de symbole.
[in, optional] UserContext
Valeur définie par l’utilisateur qui est passée à la fonction de rappel, ou NULL. Ce paramètre est généralement utilisé par une application pour passer un pointeur vers une structure de données qui fournit un contexte pour la fonction de rappel.
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.
Notes
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.
Exemples
Pour obtenir un exemple, consultez Énumération de symboles.
Spécifications
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 |