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 起可用