IDiaEnumSymbols
Listet die verschiedenen Symbole auf, die in der Datenquelle enthalten sind.
Syntax
IDiaEnumSymbols : IUnknown
Methoden in Vtable-Reihenfolge
In der folgenden Tabelle sind die Methoden von IDiaEnumSymbols
aufgeführt.
Methode | BESCHREIBUNG |
---|---|
IDiaEnumSymbols::get__NewEnum | Ruft die IEnumVARIANT Interface -Version dieses Enumerators ab. |
IDiaEnumSymbols::get_Count | Ruft die Anzahl der Symbole ab. |
IDiaEnumSymbols::Item | Ruft ein Symbol mithilfe eines Index ab. |
IDiaEnumSymbols::Next | Ruft eine angegebene Anzahl von Symbolen in der Enumerationssequenz ab. |
IDiaEnumSymbols::Skip | Überspringt eine angegebene Anzahl von Symbolen in einer Enumerationssequenz. |
IDiaEnumSymbols::Reset | Setzt eine Enumerationsfolge auf den Anfang zurück. |
IDiaEnumSymbols::Clone | Erstellt einen Enumerator mit demselben Enumerationsstatus wie der aktuelle Enumerator. |
Hinweise
Diese Schnittstelle stellt Symbole bereit, die nach einem bestimmten Symboltyp gruppiert sind, SymTagUDT
z. B. (benutzerdefinierte Typen (UDTs)) oder SymTagBaseClass
. Wenn Sie mit nach Adresse gruppierten Symbolen arbeiten möchten, verwenden Sie die Schnittstelle IDiaEnumSymbolsByAddr.
Hinweise für Aufrufer
Rufen Sie diese Schnittstelle ab, indem Sie eine der folgenden Methoden aufrufen:
Beispiel
In diesem Beispiel wird gezeigt, wie Sie die Schnittstelle IDiaEnumSymbols
abrufen und dann diese Enumeration verwenden, um benutzerdefinierte Typen (User-defined Type, UDT) aufzulisten.
Hinweis
CDiaBSTR
ist eine Klasse, die ein BSTR
-Element umschließt und automatisch die Freigabe der Zeichenfolge verarbeitet, wenn die Instanziierung den Gültigkeitsbereich überschreitet.
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
DLL: msdia80.dll