ICorDebugStackWalk::SetContext 方法

ICorDebugStackWalk 对象的当前上下文设置为线程的有效上下文。

语法

HRESULT SetContext([in] CorDebugSetContextFlag flag,  
                   [in] ULONG32 contextSize,  
                   [in, size_is(contextSize)] BYTE context[]);  

参数

flag
[in] CorDebugSetContextFlag 标志,用于指示上下文是来自堆栈上的活动帧,还是通过展开堆栈获取的上下文。

contextSize
[in] 已分配的 CONTEXT 缓冲区的大小。

context
[in] CONTEXT 缓冲区。

返回值

此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。

HRESULT 说明
S_OK 已成功设置 ICorDebugStackWalk 对象的上下文。
E_FAIL 未设置 ICorDebugStackWalk 对象的上下文。
E_INVALIDARG 上下文为 null。
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) 上下文缓冲区太小。

例外

备注

此方法不会更改线程的当前上下文。

将当前上下文设置为无效上下文可能会导致堆栈查看器产生不可预知的结果。

可以通过立即调用 ICorDebugStackWalk::GetContext 方法来检索此上下文的精确按位副本。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:自 4 起可用

请参阅