Partilhar via


IDiaEnumSymbols

Enumera os vários símbolos contidos na fonte de dados.

IDiaEnumSymbols : IUnknown

Métodos na ordem de Vtable

A tabela a seguir mostra os métodos de IDiaEnumSymbols.

Método

Descrição

IDiaEnumSymbols::get__NewEnum

Recupera o IEnumVARIANT Interface versão deste enumerador.

IDiaEnumSymbols::get_Count

Recupera o número de símbolos.

IDiaEnumSymbols::Item

Recupera um símbolo por meio de um índice.

IDiaEnumSymbols::Next

Recupera um número especificado de símbolos na seqüência de enumeração.

IDiaEnumSymbols::Skip

Ignora um número especificado de símbolos em uma seqüência de enumeração.

IDiaEnumSymbols::Reset

Redefine uma seqüência de enumeração para o início.

IDiaEnumSymbols::Clone

Cria um enumerador que contém o mesmo estado de enumeração que o enumerador atual.

Comentários

Essa interface fornece símbolos agrupados por um tipo específico de símbolo, por exemplo, SymTagUDT (tipos definidos pelo usuário) ou SymTagBaseClass. Para trabalhar com símbolos agrupados por endereço, use o IDiaEnumSymbolsByAddr interface.

Observações para chamadores

Para obter essa interface chamando os métodos a seguintes:

Exemplo

Este exemplo mostra como obter o IDiaEnumSymbols interface e, em seguida, use essa enumeração para tipos definidos pelo usuário da lista (UDTs).

Dica

CDiaBSTRé uma classe que encapsula um BSTR e trata automaticamente liberando a seqüência de caracteres quando a instanciação sai do escopo.

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

Requisitos

Cabeçalho: Dia2.h

Biblioteca: diaguids.lib

DLL: msdia80.dll

Consulte também

Referência

IDiaSession::findChildren

IDiaSourceFile::get_compilands

IDiaSymbol::findChildren

Outros recursos

Interfaces (SDK de Acesso à Interface de Depuração)