IDebugSymbols2::SetScope 方法 (dbgeng.h)

SetScope 方法會設定目前的範圍。

語法

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

參數

[in] InstructionOffset

指定進程虛擬位址空間中範圍目前指令的位置。 只有在 ScopeFrameScopeContext 都是 NULL 時,才會使用 這個值;否則會忽略它。

[in, optional] ScopeFrame

指定範圍的堆疊框架。 如需此結構的相關信息,請參閱 DEBUG_STACK_FRAME

[in, optional] ScopeContext

指定範圍的 線程內容。 線程內容的型別是目標有效處理器的CONTEXT結構。 緩衝區 ScopeContext 必須夠大,才能保存這個結構。 如果 ScopeContextNULL,則會改用目前的 緩存器內容

[in] ScopeContextSize

指定緩衝區 ScopeContext 的大小。

傳回值

這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
InstructionOffsetScopeFrameScopeContext 所識別的範圍與舊範圍相同。
S_FALSE
範圍已變更。

備註

如果只提供 InstructionOffset ,則可以使用範圍來查閱符號名稱;不過,這些符號的值將無法使用。

若要將範圍設定為先前的狀態,必須提供 ScopeContext 。 例如,如果您只想要存取符號,而不是緩存 器) , 這不一定是必要 (。 若要將範圍設定為目前堆疊上的框架,可以使用 SetScopeFrameByIndex

如需範圍的詳細資訊,請參閱 範圍和符號群組

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包含 Dbgeng.h)

另請參閱

GetScope

IDebugSymbols

IDebugSymbols2

IDebugSymbols3

ResetScope

SetScopeFrameByIndex