IDiaEnumInjectedSources
énumérez les différentes sources injectées contenues dans la source de données.
IDiaEnumInjectedSources : IUnknown
méthodes en commande de Vtable
Le tableau suivant répertorie les méthodes d' IDiaEnumInjectedSources.
Méthode |
Description |
---|---|
Récupère la version d' IEnumVARIANT Interface de cet énumérateur. |
|
Récupère le nombre de sources injectées. |
|
Extrait une source injectée au moyen d'un index. |
|
Récupère un nombre spécifié de sources injectées dans la séquence d'énumération. |
|
Ignore un nombre spécifié de sources injectées dans une séquence d'énumération. |
|
réinitialise une séquence d'énumération au début. |
|
crée un énumérateur qui contient le même état d'énumération que l'énumérateur actuel. |
Notes
Remarques pour les appelants
Cette interface est obtenue en appelant la méthode d' IDiaSession::findInjectedSource avec le nom d'un fichier source spécifique ou en appelant la méthode d' IDiaSession::getEnumTables avec un GUID de l'interface d' IDiaEnumInjectedSources .
Exemple
cet exemple montre comment obtenir (la fonction d' GetEnumInjectedSources ) et utiliser (la fonction d' DumpAllInjectedSources ) l'interface d' IDiaEnumInjectedSources . Consultez l'interface d' IDiaPropertyStorage pour une implémentation d' PrintPropertyStorage s'exécuter. Pour un autre sortie, consultez l'interface d' IDiaInjectedSource .
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();
}
}
Configuration requise
en-tête : Dia2.h
bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Référence
IDiaSession::findInjectedSource
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)