ICorDebugStackWalk::SetContext メソッド
ICorDebugStackWalk オブジェクトの現在のコンテキストを、スレッドの有効なコンテキストに設定します。
HRESULT SetContext([in] CorDebugSetContextFlag flag,
[in] ULONG32 contextSize,
[in, size_is(contextSize)] BYTE context[]);
パラメーター
flag
[入力] コンテキストがスタック上のアクティブなフレームからのものであるか、スタックをアンワインドして取得されたコンテキストであるかを示す CorDebugSetContextFlag フラグ。contextSize
[入力] CONTEXT バッファーの割り当てられているサイズ。context
[入力] CONTEXT バッファー。
戻り値
このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。
HRESULT |
説明 |
---|---|
S_OK |
ICorDebugStackWalk オブジェクトのコンテキストは正常に設定されました。 |
E_FAIL |
ICorDebugStackWalk オブジェクトのコンテキストは設定されませんでした。 |
E_INVALIDARG |
コンテキストが null です。 |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) |
コンテキスト バッファーは小さすぎます。 |
解説
このメソッドは、スレッドの現在のコンテキストを変更しません。
現在のコンテキストを無効なコンテキストに設定すると、スタック ウォーカーにより予期しない結果を引き起こす場合があります。
直後に ICorDebugStackWalk::GetContext メソッドを呼び出すと、このコンテキストのビット単位の正確なコピーを取得できます。
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー: CorDebug.idl、CorDebug.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4