Freigeben über


IDiaEnumStackFrames

Listet die verschiedenen verfügbaren Stapelrahmen auf.

Methoden in Vtable-Reihenfolge

Methode BESCHREIBUNG
IDiaEnumStackFrames::Next Ruft eine angegebene Anzahl von Stapelrahmenelementen aus der Enumerationssequenz ab.
IDiaEnumStackFrames::Reset Setzt eine Enumerationsfolge auf den Anfang zurück.

Bemerkungen

Hinweise für Aufrufer

Rufen Sie diese Schnittstelle ab, indem Sie die Methoden IDiaStackWalker::getEnumFrames oder IDiaStackWalker::getEnumFrames2 aufrufen.

Beispiel

In diesem Beispiel wird gezeigt, wie Sie die IDiaEnumStackFrames-Schnittstelle abrufen und verwenden. Eine Implementierung der PrintStackFrame-Funktion finden Sie in der IDiaStackFrame-Schnittstelle.

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;
        }
    }
}

Requirements (Anforderungen)

Header: Dia2.h

Bibliothek: diaguids.lib

DLL: msdia80.dll

Weitere Informationen