Partager via


Méthode IDebugSymbols3 ::SetScope (dbgeng.h)

La méthode SetScope définit l’étendue actuelle.

Syntaxe

HRESULT SetScope(
  [in]           ULONG64            InstructionOffset,
  [in, optional] PDEBUG_STACK_FRAME ScopeFrame,
  [in, optional] PVOID              ScopeContext,
  [in]           ULONG              ScopeContextSize
);

Paramètres

[in] InstructionOffset

Spécifie l’emplacement dans l’espace d’adressage virtuel du processus pour l’instruction actuelle de l’étendue. Elle est utilisée uniquement si ScopeFrame et ScopeContext ont la valeur NULL ; sinon, elle est ignorée.

[in, optional] ScopeFrame

Spécifie le cadre de pile de l’étendue. Pour plus d’informations sur cette structure, consultez DEBUG_STACK_FRAME.

[in, optional] ScopeContext

Spécifie le contexte de thread de l’étendue. Le type du contexte de thread est la structure CONTEXT du processeur effectif de la cible. La mémoire tampon ScopeContext doit être suffisamment grande pour contenir cette structure. Si ScopeContext a la valeur NULL, le contexte de registre actuel est utilisé à la place.

[in] ScopeContextSize

Spécifie la taille de la mémoire tampon ScopeContext.

Valeur retournée

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

Code de retour Description
S_OK
L’étendue identifiée par InstructionOffset, ScopeFrame et ScopeContext est identique à l’ancienne étendue.
S_FALSE
L’étendue a changé.

Remarques

Si seule InstructionOffset est fournie, l’étendue peut être utilisée pour rechercher des noms de symboles ; Toutefois, les valeurs de ces symboles ne seront pas disponibles.

Pour définir l’étendue à un état précédent, ScopeContext doit être fourni. Cela n’est pas toujours nécessaire (par exemple, si vous souhaitez uniquement accéder aux symboles et non aux registres). Pour définir l’étendue sur un frame sur la pile actuelle, vous pouvez utiliser SetScopeFrameByIndex .

Pour plus d’informations sur les étendues, consultez Étendues et groupes de symboles.

Configuration requise

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

Voir aussi

GetScope

IDebugSymbols

IDebugSymbols2

IDebugSymbols3

ResetScope

SetScopeFrameByIndex