Udostępnij za pośrednictwem


IDiaEnumSymbols

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

IDiaEnumSymbols : IUnknown

Metody w kolejności Vtable

W poniższej tabeli przedstawiono metody IDiaEnumSymbols.

Metoda

Opis

IDiaEnumSymbols::get__NewEnum

Pobiera IEnumVARIANT Interface wersji ten moduł wyliczający.

IDiaEnumSymbols::get_Count

Pobiera numer symbole.

IDiaEnumSymbols::Item

Pobiera symbol z indeksu.

IDiaEnumSymbols::Next

Pobiera określoną liczbę symboli w sekwencji wyliczania.

IDiaEnumSymbols::Skip

Pomija określoną liczbę symboli w sekwencji wyliczania.

IDiaEnumSymbols::Reset

Resetuje sekwencji wyliczenie na początku.

IDiaEnumSymbols::Clone

Tworzy moduł wyliczający zawierający tym samym stanie wyliczenie jako bieżący moduł wyliczający.

Uwagi

Ten interfejs zapewnia symbole pogrupowane według określonego typu symbol, na przykład, SymTagUDT (typy zdefiniowane przez użytkownika) lub SymTagBaseClass.Aby pracować z symbolami w rozbiciu na adres, należy użyć IDiaEnumSymbolsByAddr interfejsu.

Uwagi do wywoływania

Należy uzyskać ten interfejs, wywołując następujące metody:

Przykład

Ten przykład pokazuje sposób uzyskiwania IDiaEnumSymbols interfejsu, a następnie użyć tego wyliczenia do listy typów zdefiniowanych przez użytkownika (UDTs).

[!UWAGA]

CDiaBSTRKlasa, która otacza jest BSTR i obsługuje automatyczne zwalnianie ciąg podczas wystąpienia 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

Biblioteki: diaguids.lib

Biblioteka DLL: msdia80.dll

Zobacz też

Informacje

IDiaSession::findChildren

IDiaSourceFile::get_compilands

IDiaSymbol::findChildren

Inne zasoby

Interfejsy (Zestaw SDK dostępu do interfejsu debugowania)