Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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