Partager via


Méthode IDebugSymbols ::GetNearNameByOffset (dbgeng.h)

La méthode GetNearNameByOffset retourne le nom d’un symbole situé près de l’emplacement spécifié.

Syntaxe

HRESULT GetNearNameByOffset(
  [in]            ULONG64  Offset,
  [in]            LONG     Delta,
  [out, optional] PSTR     NameBuffer,
  [in]            ULONG    NameBufferSize,
  [out, optional] PULONG   NameSize,
  [out, optional] PULONG64 Displacement
);

Paramètres

[in] Offset

Spécifie l’emplacement dans l’espace d’adressage virtuel de la cible du symbole à partir duquel le symbole souhaité est déterminé.

[in] Delta

Spécifie la relation entre le symbole souhaité et le symbole situé dans Offset. Si la valeur est positive , le moteur retourne le symbole delta après le symbole situé dans Offset. Si la valeur est négative, le moteur retourne le symbole qui est Symboles Delta avant le symbole situé dans Offset.

[out, optional] NameBuffer

Reçoit le nom du symbole. Le nom est qualifié par le module auquel appartient le symbole (par exemple, mymodule !main). Si NameBuffer a la valeur NULL, ces informations ne sont pas retournées.

[in] NameBufferSize

Spécifie la taille en caractères de la mémoire tampon NameBuffer. Cette taille inclut l’espace pour le caractère de fin « \0 ».

[out, optional] NameSize

Reçoit la taille en caractères du nom du symbole. Cette taille inclut l’espace pour le caractère de fin « \0 ». Si NameSize a la valeur NULL, ces informations ne sont pas retournées.

[out, optional] Displacement

Reçoit la différence entre la valeur offset et l’emplacement dans l’espace d’adressage mémoire de la cible du symbole. Si Déplacement a la valeur NULL, ces informations ne sont pas retournées.

Valeur retournée

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

Code de retour Description
S_OK
La méthode a réussi.
S_FALSE
La méthode a réussi. Toutefois, la mémoire tampon n’étant pas assez grande pour contenir le nom du symbole, elle a été tronquée.
E_NOINTERFACE
Aucun symbole correspondant aux spécifications de Offset et Delta n’a été trouvé.

Remarques

En augmentant ou en diminuant la valeur de Delta, ces méthodes peuvent être utilisées pour itérer sur les symboles de la cible à partir d’un emplacement particulier.

Si Delta est égal à zéro, ces méthodes se comportent de la même façon que GetNameByOffset.

Pour plus d’informations sur les symboles et les noms de symboles, consultez Symboles.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)

Voir aussi

GetNameByOffset

GetOffsetByName

IDebugSymbols

IDebugSymbols2

IDebugSymbols3