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 |
---|---|
Recupera o IEnumVARIANT Interface versão deste enumerador. |
|
Recupera o número de símbolos. |
|
Recupera um símbolo por meio de um índice. |
|
Recupera um número especificado de símbolos na seqüência de enumeração. |
|
Ignora um número especificado de símbolos em uma seqüência de enumeração. |
|
Redefine uma seqüência de enumeração para o início. |
|
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
IDiaSourceFile::get_compilands