返回堆栈上的内部帧(ICorDebugInternalFrame2 对象)的数组。
HRESULT GetActiveInternalFrames
(
[in] ULONG32 cInternalFrames,
[out] ULONG32 *pcInternalFrames,
[in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
ICorDebugInternalFrame2 * ppInternalFrames[]
);
参数
cInternalFrames
[in] ppInternalFrames 中应具有的内部帧的数量。pcInternalFrames
[out] 一个指针,它指向包含堆栈上的内部帧数的 ULONG32。ppInternalFrames
[in, out] 一个指针,它指向堆栈上的内部帧数组的地址。
返回值
此方法将返回以下特定的 HRESULT 以及用于指示方法失败的 HRESULT 错误。
HRESULT |
说明 |
---|---|
S_OK |
已成功创建 ICorDebugInternalFrame2 对象。 |
E_INVALIDARG |
cInternalFrames 不为零,并且 ppInternalFrames 为 null 或 pcInternalFrames 为 null。 |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) |
ppInternalFrames 小于内部帧计数。 |
备注
内部帧是运行时推入堆栈中的数据结构,可用于存储临时数据。
在首次调用 GetActiveInternalFrames 时,应将 cInternalFrames 参数设置为 0(零),并将 ppInternalFrames 参数设置为 null。 当 GetActiveInternalFrames 首次返回时,pcInternalFrames 会包含堆栈上内部帧的计数。
然后,应再次调用 GetActiveInternalFrames。 应在 cInternalFrames 参数中传递适当的计数 (pcInternalFrames),并在 ppInternalFrames 中指定一个指向大小适当的数组的指针。
使用 ICorDebugStackWalk::GetFrame 方法可返回实际堆栈帧。
要求
**平台:**请参见 .NET Framework 系统要求。
头文件: CorDebug.idl、CorDebug.h
**库:**CorGuids.lib
**.NET Framework 版本:**4