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