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 eingefügten Quellen auf, die in der Datenquelle enthalten sind.
Syntax
IDiaEnumInjectedSources : IUnknown
Methoden in Vtable-Reihenfolge
In der folgenden Tabelle sind die Methoden von IDiaEnumInjectedSources
aufgeführt.
Methode | BESCHREIBUNG |
---|---|
IDiaEnumInjectedSources::get__NewEnum | Ruft die Version der IEnumVARIANT-Schnittstelle dieses Enumerators ab. |
IDiaEnumInjectedSources::get_Count | Ruft die Anzahl der eingefügten Quellen ab. |
IDiaEnumInjectedSources::Item | Ruft eine eingefügte Quelle mithilfe eines Indexes ab. |
IDiaEnumInjectedSources::Next | Ruft eine angegebene Anzahl von eingefügten Quellen in der Enumerationssequenz ab. |
IDiaEnumInjectedSources::Skip | Überspringt eine angegebene Anzahl von eingefügten Quellen in einer Enumerationssequenz. |
IDiaEnumInjectedSources::Reset | Setzt eine Enumerationsfolge auf den Anfang zurück. |
IDiaEnumInjectedSources::Clone | Erstellt einen Enumerator mit demselben Enumerationszustand wie der aktuelle Enumerator. |
Bemerkungen
Hinweise für Aufrufer
Diese Schnittstelle wird durch Aufrufen der IDiaSession::findInjectedSource-Methode mit dem Namen einer bestimmten Quelldatei oder durch Aufrufen der IDiaSession::getEnumTables-Methode mit der GUID (Globally Unique Identifier) der IDiaEnumInjectedSources
Schnittstelle abgerufen.
Beispiel
In diesem Beispiel wird gezeigt, wie Sie die IDiaEnumInjectedSources
-Schnittstelle abrufen (GetEnumInjectedSources
-Funktion) und verwenden (DumpAllInjectedSources
-Funktion). Eine Implementierung der PrintPropertyStorage
-Funktion finden Sie in der IDiaPropertyStorage-Schnittstelle. Eine alternative Ausgabe finden Sie in der IDiaInjectedSource-Schnittstelle.
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();
}
}
Anforderungen
Header: Dia2.h
Bibliothek: diaguids.lib
DLL: msdia80.dll