IDiaEnumInjectedSourcesIDiaEnumInjectedSources

Listet die verschiedenen injizierten Quellen auf, die in der Datenquelle enthalten sind.Enumerate the various injected sources contained in the data source.

SyntaxSyntax

IDiaEnumInjectedSources : IUnknown

Methoden in Vtable-ReihenfolgeMethods in Vtable Order

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

MethodeMethod BeschreibungDescription
IDiaEnumInjectedSources::get__NewEnumIDiaEnumInjectedSources::get__NewEnum Ruft die Version der IEnumVARIANT-Schnittstelle dieses Enumerators ab.Retrieves the IEnumVARIANT Interface version of this enumerator.
IDiaEnumInjectedSources::get_CountIDiaEnumInjectedSources::get_Count Ruft die Anzahl der injizierten Quellen ab.Retrieves the number of injected sources.
IDiaEnumInjectedSources::ItemIDiaEnumInjectedSources::Item Ruft eine eingefügte Quelle mithilfe eines Indexes ab.Retrieves an injected source by means of an index.
IDiaEnumInjectedSources::NextIDiaEnumInjectedSources::Next Ruft eine angegebene Anzahl von injizierten Quellen in der enumerationssequenz ab.Retrieves a specified number of injected sources in the enumeration sequence.
IDiaEnumInjectedSources::SkipIDiaEnumInjectedSources::Skip Überspringt eine angegebene Anzahl von injizierten Quellen in einer enumerationssequenz.Skips a specified number of injected sources in an enumeration sequence.
IDiaEnumInjectedSources::ResetIDiaEnumInjectedSources::Reset Setzt eine Enumerationsfolge auf den Anfang zurück.Resets an enumeration sequence to the beginning.
IDiaEnumInjectedSources::CloneIDiaEnumInjectedSources::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

Hinweise für AufruferNotes for Callers

Diese Schnittstelle wird durch Aufrufen der IDiaSession:: findInjectedSource -Methode mit dem Namen einer bestimmten Quelldatei oder durch Aufrufen der IDiaSession:: getenumschlag Tables -Methode mit der GUID der IDiaEnumInjectedSources-Schnittstelle abgerufen.This interface is obtained by calling the IDiaSession::findInjectedSource method with the name of a specific source file or by calling the IDiaSession::getEnumTables method with the GUID of the IDiaEnumInjectedSources interface.

BeispielExample

Dieses Beispiel zeigt, wie Sie die-GetEnumInjectedSources-Funktion abrufen und die IDiaEnumInjectedSources-Schnittstelle (die DumpAllInjectedSources-Funktion) verwenden.This example shows how to obtain (the GetEnumInjectedSources function) and use (the DumpAllInjectedSources function) the IDiaEnumInjectedSources interface. Eine Implementierung der PrintPropertyStorage-Funktion finden Sie in der idiapropertystorage -Schnittstelle.See the IDiaPropertyStorage interface for an implementation of the PrintPropertyStorage function. Eine Alternative Ausgabe finden Sie unter idiainjetedsource -Schnittstelle.For an alternative output, see the IDiaInjectedSource interface.


IDiaEnumInjectedSources* GetEnumInjectedSources(IDiaSession *pSession)
{
    IDiaEnumInjectedSources* pUnknown    = NULL;
    REFIID                   iid         = __uuidof(IDiaEnumInjectedSources);
    IDiaEnumTables*          pEnumTables = NULL;
    IDiaTable*               pTable      = NULL;
    ULONG                    celt        = 0;

    if (pSession->getEnumTables(&pEnumTables) != S_OK)
    {
        wprintf(L"ERROR - GetTable() getEnumTables\n");
        return NULL;
    }
    while (pEnumTables->Next(1, &pTable, &celt) == S_OK && celt == 1)
    {
        // There is only one table that matches the given iid
        HRESULT hr = pTable->QueryInterface(iid, (void**)&pUnknown);
        pTable->Release();
        if (hr == S_OK)
        {
            break;
        }
    }
    pEnumTables->Release();
    return pUnknown;
}

void DumpAllInjectedSources( IDiaSession* pSession)
{
    IDiaEnumInjectedSources* pEnumInjSources;

    pEnumInjSources = GetEnumInjectedSources(pSession);
    if (pEnumInjSources != NULL)
    {
        IDiaInjectedSource* pInjSource;
        ULONG celt = 0;

        while(pEnumInjSources->Next(1, &pInjSource, &celt) == S_OK &&
              celt == 1)
        {
            IDiaPropertyStorage *pPropertyStorage;
            if (pInjSource->QueryInterface(__uuidof(IDiaPropertyStorage),
                                          (void **)&pPropertyStorage) == S_OK)
            {
                PrintPropertyStorage(pPropertyStorage);
                pPropertyStorage->Release();
            }
            pInjSource->Release();
        }
        pEnumInjSources->Release();
    }
}

AnforderungenRequirements

Header: Dia2.hHeader: Dia2.h

Bibliothek: diaguids. libLibrary: diaguids.lib

DLL: msdia80.dllDLL: msdia80.dll

Siehe auchSee also