ICorDebugStackWalk::GetContext 方法

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