IDiaEnumSymbols

Enumera i vari simboli contenuti nell'origine dati.

IDiaEnumSymbols : IUnknown

Metodi nell'ordine di Vtable

Nella tabella seguente sono elencati i metodi di IDiaEnumSymbols.

Metodo

Descrizione

IDiaEnumSymbols::get__NewEnum

recupera IEnumVARIANT Interface versione di questo enumeratore.

IDiaEnumSymbols::get_Count

Recupera il numero di simboli.

IDiaEnumSymbols::Item

Recupera un simbolo l'utilizzo di un indice.

IDiaEnumSymbols::Next

Recupera un numero specificato di simboli nella sequenza di enumerazione.

IDiaEnumSymbols::Skip

Ignora un numero specificato dei simboli in una sequenza di enumerazione.

IDiaEnumSymbols::Reset

Reimposta una sequenza di enumerazione all'inizio.

IDiaEnumSymbols::Clone

Crea un enumeratore che contiene lo stesso stato di enumerazione dell'enumeratore corrente.

Note

Questa interfaccia fornisce simboli raggruppati da un tipo specifico di simbolo, ad esempio, SymTagUDT (tipi definiti dall'utente) o SymTagBaseClass.Per utilizzare i simboli raggruppati in base all'indirizzo, utilizzare IDiaEnumSymbolsByAddr interfaccia.

Note per i chiamanti

Leggi questa interfaccia chiamando i metodi seguenti:

Esempio

In questo esempio viene illustrato come ottenere IDiaEnumSymbols collegare quindi utilizzare tale enumerazione per elencare i tipi definiti (UDTs) dall'utente.

[!NOTA]

CDiaBSTR è una classe che esegue il wrapping di un oggetto BSTR e posizionano gli handle che liberano la stringa durante la creazione di istanze esce dall'ambito.

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

Requisiti

intestazione: Dia2.h

raccolta: diaguids.lib

DLL: msdia80.dll

Vedere anche

Riferimenti

IDiaSession::findChildren

IDiaSourceFile::get_compilands

IDiaSymbol::findChildren

Altre risorse

Interfacce (Debug Interface Access SDK)