返回 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 |
帧指针已经位于堆栈的末尾;因此,无法访问其他帧。 |
备注
由于展开过程仅还原寄存器的子集(例如非易失寄存器),因此,在调用时上下文可能不会与寄存器状态完全匹配。
要求
**平台:**请参见 .NET Framework 系统要求。
头文件: CorDebug.idl、CorDebug.h
**库:**CorGuids.lib
**.NET Framework 版本:**4