Condividi tramite


IDiaEnumSymbols

Enumera i vari simboli contenuti nell'origine dati.

Sintassi

IDiaEnumSymbols : IUnknown

Metodi nell'ordine Vtable

Nella tabella seguente vengono illustrati i metodi di IDiaEnumSymbols.

metodo Descrizione
IDiaEnumSymbols::get__NewEnum Recupera la IEnumVARIANT Interface versione di questo enumeratore.
IDiaEnumSymbols::get_Count Recupera il numero di simboli.
IDiaEnumSymbols::Item Recupera un simbolo tramite un indice.
IDiaEnumSymbols::Next Recupera un numero specificato di simboli nella sequenza di enumerazione.
IDiaEnumSymbols::Skip Ignora un numero specificato di 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.

Osservazioni:

Questa interfaccia fornisce simboli raggruppati per un tipo specifico di simbolo, ad esempio ( SymTagUDT tipi definiti dall'utente )) o SymTagBaseClass. Per usare i simboli raggruppati per indirizzo, usare l'interfaccia IDiaEnumSymbolsByAddr .

Note per i chiamanti

Ottenere questa interfaccia chiamando i metodi seguenti:

Esempio

In questo esempio viene illustrato come ottenere l'interfaccia e quindi usare tale IDiaEnumSymbols enumerazione per elencare i tipi definiti dall'utente .

Nota

CDiaBSTR è una classe che esegue il wrapping di un BSTR oggetto e gestisce automaticamente la liberazione della stringa quando l'istanza 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

Libreria: diaguids.lib

DLL: msdia80.dll

Vedi anche