ICorDebugStackWalk::GetContext 方法
返回 ICorDebugStackWalk 对象中当前帧的上下文。
语法
HRESULT GetContext([in] ULONG32 contextFlags,
[in] ULONG32 contextBufSize,
[out] ULONG32* contextSize,
[out, size_is(contextBufSize)] BYTE contextBuf[]);
参数
contextFlags
[in]指示上下文缓冲区请求的内容(在 WinNT.h 中定义的)的标志。
contextBufSize
[in]上下文缓冲区的分配大小。
contextSize
[out]上下文的实际大小。 此值必须小于或等于上下文缓冲区的大小。
contextBuf
[out]上下文缓冲区。
返回值
此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。
HRESULT | 说明 |
---|---|
S_OK | 已成功返回当前帧的上下文。 |
E_FAIL | 无法返回上下文。 |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER) | 上下文缓冲区太小。 |
CORDBG_E_PAST_END_OF_STACK | 帧指针已位于堆栈末尾,因此无法访问其他帧。 |
例外
备注
由于展开只恢复寄存器的子集(例如非易失性寄存器),因此上下文可能与调用时的寄存器状态不完全匹配。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 4 起可用