IDiaEnumStackFrames

枚举各种可用堆栈帧。

Vtable 顺序中的方法

方法 说明
IDiaEnumStackFrames::Next 检索枚举序列中指定数目的堆栈帧元素。
IDiaEnumStackFrames::Reset 将枚举序列重置到开头。

备注

对调用者的说明

通过调用 IDiaStackWalker::getEnumFramesIDiaStackWalker::getEnumFrames2 方法获取此接口。

示例

此示例演示如何获取和使用 IDiaEnumStackFrames 接口。 有关 PrintStackFrame 函数的实现,请参阅 IDiaStackFrame 接口。

void DumpStackFrames(IDiaStackWalker*     pStackWalker,
                     IDiaStackWalkHelper* pStackWalkHelper,
                     CV_CPU_TYPE_e        cpuType)
{
    if (pStackWalker != NULL && pStackWalkHelper != NULL)
    {
        CComPtr<IDiaEnumStackFrames> pEnumsFrames;
        HRESULT hr;
        hr = pStackWalker->getEnumFrames2(cpuType, pStackWalkHelper, &pEnumFrames);
        if (SUCCEEDED(hr) && pEnumFrames != NULL)
        {
            CComPtr<IDiaStackFrame> pStackFrame;
            DWORD celt = 0;

            while (pEnumFrames->Next(1, &pStackFrame, &celt) == S_OK)
            {
                PrintStackFrame(pStackFrame);
            }
            pStackFrame = NULL;
        }
    }
}

要求

标头:Dia2.h

库:diaguids.lib

DLL:msdia80.dll

另请参阅