Share via


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
Foo
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 .

Foo?
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 .

foo*!bar
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

Voir aussi

Fonctions DbgHelp

SymEnumSymbolsProc