IDebugSymbols2 ::SetScope, méthode (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. Cela n’est utilisé que si ScopeFrame et ScopeContext sont null; sinon, elle est ignorée.
[in, optional] ScopeFrame
Spécifie le cadre de la 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 est NULL, le contexte d’enregistrement actuel est utilisé à la place.
[in] ScopeContextSize
Spécifie la taille de la mémoire tampon ScopeContext.
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 |
---|---|
|
L’étendue identifiée par InstructionOffset, ScopeFrameet ScopeContext est identique à l’ancienne étendue. |
|
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 inscrit). Pour définir l’étendue sur une trame sur la pile actuelle, SetScopeFrameByIndex pouvez être utilisé.
Pour plus d’informations sur les étendues, consultez Étendues et groupes de symboles.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | dbgeng.h (include Dbgeng.h) |