Share via


Fonction SymGetSymFromName (dbghelp.h)

Recherche un symbole pour le nom spécifié.

Note Cette fonction est fournie uniquement à des fins de compatibilité. Les applications doivent utiliser SymFromName.
 

Syntaxe

BOOL IMAGEAPI SymGetSymFromName(
  [in]      HANDLE           hProcess,
  [in]      PCSTR            Name,
  [in, out] PIMAGEHLP_SYMBOL Symbol
);

Paramètres

[in] hProcess

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

[in] Name

Nom du symbole pour lequel un symbole doit être localisé.

[in, out] Symbol

Pointeur vers une structure IMAGEHLP_SYMBOL64 .

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 SymGetSymFromName64 permet de localiser un symbole pour un nom spécifié. Le nom peut contenir un préfixe de module qui isole la recherche de symboles dans la table de symboles d’un module unique.

Le préfixe de module se présente sous la forme « module ! ». Le caractère « ! » est le délimiteur entre le nom du module et le nom du symbole. S’il n’existe aucun préfixe de module, la recherche est effectuée sur la table de symboles de chaque module de manière linéaire, en commençant par le premier module chargé.

L’utilisation du préfixe de module est préférable pour deux raisons. Tout d’abord, la recherche de symboles se produit beaucoup plus rapidement. Deuxièmement, lorsque le chargement différé des symboles est activé, la recherche entraîne le chargement des symboles pour chaque module recherché. Lorsque le symbole est trouvé, les informations de symbole sont copiées dans la mémoire tampon de symboles fournie par l’appelant. L’appelant doit allouer correctement la mémoire tampon symbol et renseigner les paramètres requis dans la structure IMAGEHLP_SYMBOL64 avant d’appeler SymGetSymFromName64.

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.

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

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymFromName SymGetSymFromName64
#else
BOOL
IMAGEAPI
SymGetSymFromName(
    __in HANDLE hProcess,
    __in PCSTR Name,
    __inout PIMAGEHLP_SYMBOL Symbol
    );
#endif

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

IMAGEHLP_SYMBOL64

SymFromName

SymInitialize