IDiaEnumSymbolsIDiaEnumSymbols

Listet die verschiedenen Symbole auf, die in der Datenquelle enthalten sind.Enumerates the various symbols contained in the data source.

SyntaxSyntax

IDiaEnumSymbols : IUnknown

Methoden in Vtable-ReihenfolgeMethods in Vtable Order

In der folgenden Tabelle sind die Methoden von IDiaEnumSymbols aufgeführt.The following table shows the methods of IDiaEnumSymbols.

MethodeMethod BeschreibungDescription
IDiaEnumSymbols::get__NewEnumIDiaEnumSymbols::get__NewEnum Ruft die IEnumVARIANT Interface Version dieses Enumerators ab.Retrieves the IEnumVARIANT Interface version of this enumerator.
IDiaEnumSymbols::get_CountIDiaEnumSymbols::get_Count Ruft die Anzahl der Symbole ab.Retrieves the number of symbols.
IDiaEnumSymbols::ItemIDiaEnumSymbols::Item Ruft ein Symbol mithilfe eines Indexes ab.Retrieves a symbol by means of an index.
IDiaEnumSymbols::NextIDiaEnumSymbols::Next Ruft eine angegebene Anzahl von Symbolen in der enumerationssequenz ab.Retrieves a specified number of symbols in the enumeration sequence.
IDiaEnumSymbols::SkipIDiaEnumSymbols::Skip Überspringt eine angegebene Anzahl von Symbolen in einer enumerationssequenz.Skips a specified number of symbols in an enumeration sequence.
IDiaEnumSymbols::ResetIDiaEnumSymbols::Reset Setzt eine Enumerationsfolge auf den Anfang zurück.Resets an enumeration sequence to the beginning.
IDiaEnumSymbols::CloneIDiaEnumSymbols::Clone Erstellt einen Enumerator, der den gleichen Enumerationszustand wie der aktuelle Enumerator enthält.Creates an enumerator that contains the same enumeration state as the current enumerator.

HinweiseRemarks

Diese Schnittstelle stellt Symbole bereit, die nach einem bestimmten Symboltyp gruppiert sind, z. b. SymTagUDT (benutzerdefinierte Typen) oder SymTagBaseClass.This interface provides symbols grouped by a specific type of symbol, for example, SymTagUDT (user-defined types) or SymTagBaseClass. Verwenden Sie die IDiaEnumSymbolsByAddr -Schnittstelle zum Arbeiten mit Symbolen, die nach Adressen gruppiert sind.To work with symbols grouped by address, use the IDiaEnumSymbolsByAddr interface.

Hinweise für AufruferNotes for Callers

Rufen Sie diese Schnittstelle durch Aufrufen der folgenden Methoden ab:Obtain this interface by calling the following methods:

BeispielExample

Dieses Beispiel zeigt, wie Sie die IDiaEnumSymbols-Schnittstelle abrufen und diese Enumeration dann zum Auflisten von benutzerdefinierten Typen (User-Defined Types, UDTs) verwenden.This example shows how to obtain the IDiaEnumSymbols interface and then use that enumeration to list user-defined types (UDTs).

Note

CDiaBSTR ist eine Klasse, die eine BSTR umschließt und die Freigabe der Zeichenfolge automatisch verarbeitet, wenn die Instanziierung den Gültigkeitsbereich verlässt.CDiaBSTR is a class that wraps a BSTR and automatically handles freeing the string when the instantiation goes out of scope.

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;
        }
    }
}

AnforderungenRequirements

Header: Dia2.hHeader: Dia2.h

Bibliothek: diaguids. libLibrary: diaguids.lib

DLL: msdia80.dllDLL: msdia80.dll

Siehe auchSee also