Freigeben über


IDiaEnumStackFrames

Listet die verschiedenen verfügbaren Stapelrahmen auf.

Methoden in die Vtable-Reihenfolge

Methode

Beschreibung

IDiaEnumStackFrames::Next

Ruft eine angegebene Anzahl von Stapelrahmen Elementen in der Enumerationsfolge ab.

IDiaEnumStackFrames::Reset

Setzt die Enumerationsfolge auf den Anfang zurück.

Hinweise

Hinweise für Aufrufer

Rufen Sie diese Schnittstelle, indem sie die IDiaStackWalker::getEnumFrames oder IDiaStackWalker::getEnumFrames2-Methoden aufgerufen werden.

Beispiel

Dieses Beispiel zeigt, wie die IDiaEnumStackFrames-Schnittstelle abruft und verwendet.Zeigen Sie die IDiaStackFrame-Schnittstelle für eine Implementierung PrintStackFrame zu arbeiten.

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

Anforderungen

Header: Dia2.h

Bibliothek: diaguids.lib

DLLs: msdia80.dll

Siehe auch

Referenz

IDiaStackWalkFrame

IDiaStackWalker::getEnumFrames2

IDiaStackWalker::getEnumFrames

Weitere Ressourcen

Schnittstellen (Debug Interface Access SDK)