Partager via


structure SYMBOL_INFOW (dbghelp.h)

Contient des informations sur les symboles.

Syntaxe

typedef struct _SYMBOL_INFOW {
  ULONG   SizeOfStruct;
  ULONG   TypeIndex;
  ULONG64 Reserved[2];
  ULONG   Index;
  ULONG   Size;
  ULONG64 ModBase;
  ULONG   Flags;
  ULONG64 Value;
  ULONG64 Address;
  ULONG   Register;
  ULONG   Scope;
  ULONG   Tag;
  ULONG   NameLen;
  ULONG   MaxNameLen;
  WCHAR   Name[1];
} SYMBOL_INFOW, *PSYMBOL_INFOW;

Membres

SizeOfStruct

Taille de la structure, en octets. Ce membre doit être défini sur sizeof(SYMBOL_INFO). Notez que la taille totale des données est la SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR). La raison de soustraire un caractère est que le premier caractère du nom est pris en compte dans la taille de la structure.

TypeIndex

Valeur unique qui identifie les données de type qui décrivent le symbole. Cette valeur ne persiste pas entre les sessions.

Reserved[2]

Ce membre est réservé à l’utilisation du système.

Index

Valeur unique du symbole. La valeur associée à un symbole n’est pas garantie comme étant la même chaque fois que vous exécutez le processus.

Pour les symboles PDB, la valeur d’index d’un symbole n’est pas générée tant que le symbole n’est pas énuméré ou récupéré par le biais d’une recherche par nom ou adresse. Les valeurs d’index de tous les symboles CodeView et COFF sont générées lorsque les symboles sont chargés.

Size

Taille du symbole, en octets. Cette valeur n’est significative que si les symboles de module proviennent d’un fichier pdb ; sinon, cette valeur est généralement zéro et doit être ignorée.

ModBase

Adresse de base du module qui contient le symbole.

Flags

Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
SYMFLAG_CLR_TOKEN
0x00040000
Le symbole est un jeton CLR.
SYMFLAG_CONSTANT
0x00000100
Le symbole est une constante.
SYMFLAG_EXPORT
0x00000200
Le symbole provient de la table d’exportation.
SYMFLAG_FORWARDER
0x00000400
Le symbole est un redirecteur.
SYMFLAG_FRAMEREL
0x00000020
Les décalages sont relatifs aux images.
SYMFLAG_FUNCTION
0x00000800
Le symbole est une fonction connue.
SYMFLAG_ILREL
0x00010000
L’adresse du symbole est un décalage par rapport au début du bloc de langage intermédiaire. Cela s’applique uniquement au code managé.
SYMFLAG_LOCAL
0x00000080
Le symbole est une variable locale.
SYMFLAG_METADATA
0x00020000
Le symbole est des métadonnées gérées.
SYMFLAG_PARAMETER
0x00000040
Le symbole est un paramètre.
SYMFLAG_REGISTER
0x00000008
Le symbole est un registre. Le membre Register est utilisé.
SYMFLAG_REGREL
0x00000010
Les décalages sont relatifs au registre.
SYMFLAG_SLOT
0x00008000
Le symbole est un emplacement de code managé.
SYMFLAG_THUNK
0x00002000
Le symbole est un thunk.
SYMFLAG_TLSREL
0x00004000
Le symbole est un décalage dans la zone de données TLS.
SYMFLAG_VALUEPRESENT
0x00000001
Le membre valeur est utilisé.
SYMFLAG_VIRTUAL
0x00001000
Le symbole est un symbole virtuel créé par la fonction SymAddSymbol.

Value

Valeur d’une constante.

Address

Adresse virtuelle du début du symbole.

Register

Registre.

Scope

Étendue DIA. Pour plus d’informations, consultez la Kit de développement logiciel (SDK) d’accès à l’interface de débogage dans la documentation visual Studio. (Cette ressource peut ne pas être disponible dans certaines langues

et pays.)

Tag

Classification PDB. Ces valeurs sont définies dans Dbghelp.h dans le type d’énumération SymTagEnum .

NameLen

Longueur du nom, en caractères, sans inclure le caractère de fin null.

MaxNameLen

Taille de la mémoire tampon nom , en caractères. Si ce membre est 0, le Nom membre n’est pas utilisé.

Name[1]

Nom du symbole. Le nom peut être non décodé si l’option SYMOPT_UNDNAME est utilisée avec la fonction SymSetOptions.

Remarques

Note

L’en-tête dbghelp.h définit SYMBOL_INFO en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
d’en-tête dbghelp.h
redistribuable DbgHelp.dll 5.1 ou version ultérieure

Voir aussi

SymEnumSymbolsProc

SymFromAddr

SymFromName

SymGetTypeFromName