返回 ICorDebugStackWalk 对象中当前帧的上下文。
Syntax
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 | Description |
|---|---|
| S_OK | 已成功返回当前帧的上下文。 |
| E_FAIL | 无法返回上下文。 |
| HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER) | 上下文缓冲区太小。 |
| CORDBG_E_PAST_END_OF_STACK | 帧指针已位于堆栈的末尾;因此,无法访问其他帧。 |
例外
注解
由于展开仅还原寄存器的子集(如非易失性寄存器),因此上下文在调用时可能无法完全匹配寄存器状态。
要求
平台: 请参阅 .NET 支持的作系统。
页眉: CorDebug.idl、CorDebug.h
图书馆: CorGuids.lib
.NET 版本: 自 .NET Framework 4.0 起可用