Partager via


IDiaEnumStackFrames

Énumère les différents frames de pile disponibles.

Méthodes dans l'ordre Vtable

Méthode Description
IDiaEnumStackFrames::Next Récupère un nombre spécifié d’éléments frame de pile à partir de la séquence d’énumération.
IDiaEnumStackFrames::Reset Réinitialise une séquence d'énumération.

Notes

Remarques pour les appelants

Pour obtenir cette interface, appelez la méthode IDiaStackWalker::getEnumFrames ou IDiaStackWalker::getEnumFrames2.

Exemple

Cet exemple montre comment obtenir et utiliser l’interface IDiaEnumStackFrames. Consultez l’article sur l’interface IDiaStackFrame pour une implémentation de la fonction PrintStackFrame.

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

Configuration requise

En-tête : Dia2.h

Bibliothèque : diaguids.lib

DLL : msdia80.dll

Voir aussi