Partager via


IDebugAdvanced4 ::GetSymbolInformationWideEx, méthode (dbgeng.h)

La méthode GetSymbolInformationWideEx retourne des informations spécifiées sur un symbole.

Syntaxe

HRESULT GetSymbolInformationWideEx(
  [in]            ULONG           Which,
  [in]            ULONG64         Arg64,
  [in]            ULONG           Arg32,
  [out, optional] PVOID           Buffer,
  [in]            ULONG           BufferSize,
  [out, optional] PULONG          InfoSize,
  [out, optional] PWSTR           StringBuffer,
  [in]            ULONG           StringBufferSize,
  [out, optional] PULONG          StringSize,
  [out, optional] PSYMBOL_INFO_EX pInfoEx
);

Paramètres

[in] Which

Spécifie l’élément d’informations à retourner. Quelle peut prendre l’une des valeurs du tableau suivant.

Valeur Informations retournées
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Retourne le nom du fichier de code source et le numéro de ligne d’un point d’arrêt spécifié. Le numéro de ligne est retourné à tampon en tant qu’ULONG. Le nom de fichier est retourné à StringBuffer.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 Retourne une structure IMAGEHLP_MODULEW64 qui décrit un module spécifié. Pour plus d’informations sur cette structure, consultez la rubrique IMAGEHLP_MODULE64 dans la documentation de la bibliothèque d’aide de débogage (dbghelp.chm).

Aucune chaîne n’est retournée et StringBuffer, StringBufferSizeet StringSize doit tous être défini sur zéro.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE Retourne le nom Unicode du symbole spécifié par l’emplacement en mémoire et le type de balise PDB. Le nom est retourné à tampon. StringBuffer n’est pas utilisé.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS Retourne une liste de noms de symboles et de décalages pour les symboles dans le module spécifié avec le type de balise PDB spécifié. Les décalages sont retournés sous la forme d’un tableau de valeurs ULONG pour tampon. Les noms sont retournés dans le même ordre que les décalages vers StringBuffer. Certains noms peuvent contenir des zéros incorporés, car les annotations peuvent avoir des noms à plusieurs parties ; par conséquent, chaque nom est arrêté avec deux caractères Null.

[in] Arg64

Spécifie un argument 64 bits. Ce paramètre a les interprétations suivantes en fonction de la valeur de Qui:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Ignoré.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Adresse de base du module dont la description est demandée.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Spécifie l’adresse dans la mémoire de la cible du symbole dont le nom est demandé.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Spécifie le module dont les symboles sont demandés. Arg64 est un emplacement dans l’allocation de mémoire du module.

[in] Arg32

Spécifie un argument 32 bits. Ce paramètre a les interprétations suivantes en fonction de la valeur de Qui:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

ID de point d’arrêt du moteur du point d’arrêt souhaité.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Défini sur zéro.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Classification PDB du symbole. Arg32 doit être l’une des valeurs de l’énumération SymTagEnum définie dans Dbghelp.h. Pour plus d’informations, consultez la documentation PDB.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Classification PDB du symbole. Arg32 doit être l’une des valeurs de l’énumération SymTagEnum définie dans Dbghelp.h. Pour plus d’informations, consultez la documentation PDB.

[out, optional] Buffer

Reçoit les informations de symbole demandées. Le type des données retournées dépend de la valeur de Laquelle. Si tampon est NULL, ces informations ne sont pas retournées.

[in] BufferSize

Spécifie la taille, en octets, de la mémoire tampon tampon.

[out, optional] InfoSize

Si cette méthode retourne S_OK, InfoSize reçoit la taille, en octets, des informations de symbole retournées à Tampon. Si cette méthode retourne S_FALSE, la mémoire tampon fournie n’est pas suffisamment grande et InfoSize reçoit la taille de mémoire tampon requise. Si InfoSize est NULL, ces informations ne sont pas retournées.

[out, optional] StringBuffer

Reçoit la chaîne demandée. L’interprétation de cette chaîne dépend de la valeur de Qui. Si StringBuffer est NULL, ces informations ne sont pas retournées.

[in] StringBufferSize

Spécifie la taille, en caractères, de la mémoire tampon de chaîne StringBuffer.

[out, optional] StringSize

Reçoit la taille, en caractères, de la chaîne retournée à StringBuffer. Si StringSize est NULL, ces informations ne sont pas retournées.

[out, optional] pInfoEx

Pointeur vers une structure SYMBOL_INFO_EX.

Valeur de retour

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez valeurs de retour.

Retourner le code Description
S_OK
La méthode a réussi.
S_FALSE
La méthode a réussi. Toutefois, les informations ne tiennent pas dans la mémoire tampon la mémoire tampon ou la chaîne ne correspond pas à la mémoire tampon StringBuffer, de sorte que les informations ou le nom ont été tronqués.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête dbgeng.h (include Dbgeng.h)