Sdílet prostřednictvím


IDiaEnumSymbols

Provede výčet různých symbolů obsažených ve zdroji dat.

IDiaEnumSymbols : IUnknown

Metody v pořadí virtuální tabulka

Následující tabulka obsahuje metody IDiaEnumSymbols.

Metoda

Description

IDiaEnumSymbols::get__NewEnum

Načte IEnumVARIANT Interface verzi tohoto čítače výčtu.

IDiaEnumSymbols::get_Count

Počet symboly načítá.

IDiaEnumSymbols::Item

Symbol načítá z indexu.

IDiaEnumSymbols::Next

Načte zadaný počet symbolů v pořadí výčtu.

IDiaEnumSymbols::Skip

Přeskočí zadaný počet symbolů v sekvenci výčtu.

IDiaEnumSymbols::Reset

Obnoví počáteční sekvenci výčtu.

IDiaEnumSymbols::Clone

Vytvoří čítače výčtu, který obsahuje stejného státu jako aktuální čítač výčtu.

Poznámky

Toto rozhraní poskytuje symboly, které jsou seskupeny podle určitého typu, například symbol SymTagUDT (uživatelem definované typy) nebo SymTagBaseClass.Při práci se symboly, které jsou seskupeny podle adresy použijte IDiaEnumSymbolsByAddr rozhraní.

Poznámky pro volající

Toto rozhraní lze získejte voláním následujících metod:

Příklad

Tento příklad ukazuje, jak lze získat IDiaEnumSymbols rozhraní a poté použijte tento výčet seznam uživatelem definovaných typů (UDTs).

[!POZNÁMKA]

CDiaBSTRje třída zalomí BSTR a automaticky zpracovává uvolnění řetězce při vytváření instance dostane mimo rozsah.

void ShowUDTs(IDiaSymbol *pGlobals)
{
    CComPtr<IDiaEnumSymbols> pEnum;
    CComPtr<IDiaSymbol> pSymbol;
    HRESULT hr;

    hr = pGlobals->findChildren(SymTagUDT,
                                NULL,
                                nsfCaseInsensitive | nsfUndecoratedName,
                                &pEnum);
    if (hr == S_OK)
    {
        while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
                celt == 1 )
        {
            CDiaBSTR name;
            if ( pSymbol->get_name( &name ) != S_OK )
                Fatal( "get_name" );
            printf( "Found UDT: %ws\n", name );
            pSymbol = 0;
        }
    }
}

Požadavky

Záhlaví: Dia2.h

Knihovny: diaguids.lib

Knihovna DLL: msdia80.dll

Viz také

Referenční dokumentace

IDiaSession::findChildren

IDiaSourceFile::get_compilands

IDiaSymbol::findChildren

Další zdroje

Rozhraní (ladění přístupu k rozhraní SDK)