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).

ObservaçãoObservação

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 (Debug Interface Access SDK)