IDebugSymbols3::SetScope メソッド (dbgeng.h)
SetScope メソッドは、現在のスコープを設定します。
構文
HRESULT SetScope(
[in] ULONG64 InstructionOffset,
[in, optional] PDEBUG_STACK_FRAME ScopeFrame,
[in, optional] PVOID ScopeContext,
[in] ULONG ScopeContextSize
);
パラメーター
[in] InstructionOffset
スコープの現在の命令のプロセスの仮想アドレス空間内の場所を指定します。 これは、 ScopeFrame と ScopeContext の両方が NULL の場合にのみ使用されます。それ以外の場合は無視されます。
[in, optional] ScopeFrame
スコープのスタック フレームを指定します。 この構造の詳細については、「 DEBUG_STACK_FRAME」を参照してください。
[in, optional] ScopeContext
スコープの スレッド コンテキストを指定します。 スレッド コンテキストの型は、ターゲットの有効なプロセッサの CONTEXT 構造体です。 buffer ScopeContext は、この構造体を保持するのに十分な大きさである必要があります。 ScopeContext が NULL の場合は、代わりに現在のレジスタ コンテキストが使用されます。
[in] ScopeContextSize
バッファー ScopeContext のサイズを指定します。
戻り値
このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。
リターン コード | 説明 |
---|---|
|
InstructionOffset、ScopeFrame、ScopeContext で識別されるスコープは、古いスコープと同じです。 |
|
スコープが変更されました。 |
注釈
InstructionOffset のみが指定されている場合、スコープを使用してシンボル名を検索できます。ただし、これらのシンボルの値は使用できません。
スコープを以前の状態に設定するには、 ScopeContext を 指定する必要があります。 これは必ずしも必要であるとは限りません (たとえば、レジスタではなくシンボルにのみアクセスする場合 など)。 現在のスタック上のフレームにスコープを設定するには、 SetScopeFrameByIndex を使用できます。
スコープの詳細については、「 スコープとシンボル グループ」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |