Share via


Fonction SymEnumerateSymbols (dbghelp.h)

Énumère tous les symboles d’un module spécifié.

Note Cette fonction est fournie uniquement à des fins de compatibilité. Les applications doivent utiliser SymEnumSymbols, qui est plus rapide et plus puissant.
 

Syntaxe

DBHLP_DEPRECIATED BOOL IMAGEAPI SymEnumerateSymbols(
  [in]           HANDLE                    hProcess,
  [in]           ULONG                     BaseOfDll,
  [in]           PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                     UserContext
);

Paramètres

[in] hProcess

Handle du processus. Ce handle doit avoir été précédemment passé à la fonction SymInitialize .

[in] BaseOfDll

Adresse de base du module pour lequel les symboles doivent être énumérés.

[in] EnumSymbolsCallback

Fonction de rappel qui reçoit les informations de symbole. Pour plus d’informations, consultez SymEnumerateSymbolsProc64.

[in, optional] UserContext

Valeur définie par l’utilisateur ou NULL. Cette valeur est passée à la fonction de rappel. En règle générale, 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.

Notes

La fonction SymEnumerateSymbols64 énumère tous les symboles du module spécifié. Les informations de module se trouvent par le paramètre BaseOfDll . La fonction de rappel est appelée une fois par symbole et est transmise aux informations de chaque symbole.

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.

La version Unicode de cette fonction, SymEnumerateSymbolsW64 , est définie comme suit dans Dbghelp.h.


BOOL
IMAGEAPI
SymEnumerateSymbolsW64(
    __in HANDLE hProcess,
    __in ULONG64 BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACK64W EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );

Cette fonction remplace la fonction SymEnumerateSymbols . Pour plus d’informations, consultez Mise à jour de la prise en charge de la plateforme. SymEnumerateSymbols est défini comme suit dans Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateSymbols SymEnumerateSymbols64
#define SymEnumerateSymbolsW SymEnumerateSymbolsW64
#else
BOOL
IMAGEAPI
SymEnumerateSymbols(
    __in HANDLE hProcess,
    __in ULONG BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );

BOOL
IMAGEAPI
SymEnumerateSymbolsW(
    __in HANDLE hProcess,
    __in ULONG BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACKW EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );
#endif

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

SymEnumSymbols

SymEnumerateSymbolsProc64

SymInitialize