IDiaEnumSymbols
Listet die verschiedenen Symbole auf, die in der Datenquelle enthalten sind.
IDiaEnumSymbols : IUnknown
Methoden in die Vtable-Reihenfolge
In der folgenden Tabelle werden die Methoden von IDiaEnumSymbolsan.
Methode |
Beschreibung |
---|---|
Ruft die IEnumVARIANT Interface-Version dieses Enumerators ab. |
|
Ruft die Anzahl der Symbole ab. |
|
Ruft ein Symbol mithilfe eines Indexes ab. |
|
Ruft eine angegebene Anzahl von Symbolen in der Enumerationsfolge ab. |
|
Überspringt eine angegebene Anzahl von Symbolen in der Enumerationsfolge. |
|
Setzt die Enumerationsfolge auf den Anfang zurück. |
|
Erstellt einen Enumerator, der den gleichen Enumerationszustand wie der aktuelle Enumerator enthält. |
Hinweise
Diese Schnittstelle stellt die Symbole, die von einem bestimmten Symboltyp, z. B. gruppiert werden, SymTagUDT ) oder benutzerdefinierte Typen ( SymTagBaseClass.Um mit den Symbolen, die durch Adresse gruppiert werden, verwenden Sie die IDiaEnumSymbolsByAddr-Schnittstelle.
Hinweise für Aufrufer
Rufen Sie diese Schnittstelle, indem sie die folgenden Methoden aufgerufen:
Beispiel
Dieses Beispiel zeigt, wie die IDiaEnumSymbols-Schnittstelle abruft und dann diese Enumeration verwendet, um benutzerdefinierte Typen (UDT) aufzulisten.
Hinweis |
---|
CDiaBSTR ist eine Klasse, die BSTR behandelt und automatisch durchgeführt wird, die die Zeichenfolge freigeben, wenn die Instanziierung den Gültigkeitsbereich verlässt. |
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;
}
}
}
Anforderungen
Header: Dia2.h
Bibliothek: diaguids.lib
DLLs: msdia80.dll
Siehe auch
Referenz
IDiaSourceFile::get_compilands