Udostępnij za pośrednictwem


IDiaEnumSymbols

Wylicza różne symbole zawarte w źródle danych.

Składnia

IDiaEnumSymbols : IUnknown

Metody w tabeli Vtable Order

W poniższej tabeli przedstawiono metody .IDiaEnumSymbols

Metoda opis
IDiaEnumSymbols::get__NewEnum IEnumVARIANT Interface Pobiera wersję tego modułu wyliczającego.
IDiaEnumSymbols::get_Count Pobiera liczbę symboli.
IDiaEnumSymbols::Item Pobiera symbol za pomocą indeksu.
IDiaEnumSymbols::Next Pobiera określoną liczbę symboli w sekwencji wyliczenia.
IDiaEnumSymbols::Skip Pomija określoną liczbę symboli w sekwencji wyliczenia.
IDiaEnumSymbols::Reset Resetuje sekwencję wyliczenia na początku.
IDiaEnumSymbols::Clone Tworzy moduł wyliczający, który zawiera ten sam stan wyliczenia co bieżący moduł wyliczający.

Uwagi

Ten interfejs udostępnia symbole pogrupowane według określonego typu symbolu, na przykład SymTagUDT (typy zdefiniowane przez użytkownika )) lub SymTagBaseClass. Aby pracować z symbolami pogrupowanych według adresu, użyj interfejsu IDiaEnumSymbolsByAddr .

Uwagi dotyczące wywoływania

Uzyskaj ten interfejs, wywołując następujące metody:

Przykład

W tym przykładzie IDiaEnumSymbols pokazano, jak uzyskać interfejs, a następnie użyć tego wyliczenia, aby wyświetlić listę typów zdefiniowanych przez użytkownika (UTS).

Uwaga

CDiaBSTR jest klasą, która opakowuje BSTR element i automatycznie obsługuje zwalnianie ciągu, gdy wystąpienie wykracza poza zakres.

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

Wymagania

Nagłówek: Dia2.h

Biblioteka: diaguids.lib

BIBLIOTEKA DLL: msdia80.dll

Zobacz też