IDiaEnumInjectedSourcesIDiaEnumInjectedSources

Énumérer les différentes sources injectés contenues dans la source de données.Enumerate the various injected sources contained in the data source.

SyntaxeSyntax

IDiaEnumInjectedSources : IUnknown  

Méthodes dans l'ordre VtableMethods in Vtable Order

Le tableau suivant présente les méthodes de IDiaEnumInjectedSources.The following table shows the methods of IDiaEnumInjectedSources.

MéthodeMethod DescriptionDescription
IDiaEnumInjectedSources::get__NewEnumIDiaEnumInjectedSources::get__NewEnum Récupère le IEnumVARIANT Interface version de cet énumérateur.Retrieves the IEnumVARIANT Interface version of this enumerator.
IDiaEnumInjectedSources::get_CountIDiaEnumInjectedSources::get_Count Récupère le nombre de sources injectés.Retrieves the number of injected sources.
IDiaEnumInjectedSources::ItemIDiaEnumInjectedSources::Item Récupère une source injectée au moyen d’un index.Retrieves an injected source by means of an index.
IDiaEnumInjectedSources::NextIDiaEnumInjectedSources::Next Récupère un nombre spécifié de sources injectés dans la séquence d’énumération.Retrieves a specified number of injected sources in the enumeration sequence.
IDiaEnumInjectedSources::SkipIDiaEnumInjectedSources::Skip Ignore un nombre spécifié de sources injectés dans une séquence d’énumération.Skips a specified number of injected sources in an enumeration sequence.
IDiaEnumInjectedSources::ResetIDiaEnumInjectedSources::Reset Réinitialise une séquence d’énumération au début.Resets an enumeration sequence to the beginning.
IDiaEnumInjectedSources::CloneIDiaEnumInjectedSources::Clone Crée un énumérateur qui contient le même état d’énumération que l’énumérateur en cours.Creates an enumerator that contains the same enumeration state as the current enumerator.

NotesRemarks

Notes de publication pour les appelantsNotes for Callers

Cette interface est obtenue en appelant le IDiaSession::findInjectedSource méthode portant le nom d’un fichier source spécifique ou en appelant le IDiaSession::getEnumTables méthode avec le GUID de la IDiaEnumInjectedSources interface.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.

ExempleExample

Cet exemple montre comment obtenir (le GetEnumInjectedSources (fonction)) et utiliser (le DumpAllInjectedSources (fonction)) la IDiaEnumInjectedSources interface.This example shows how to obtain (the GetEnumInjectedSources function) and use (the DumpAllInjectedSources function) the IDiaEnumInjectedSources interface. Consultez le IDiaPropertyStorage interface pour une implémentation de la PrintPropertyStorage (fonction).See the IDiaPropertyStorage interface for an implementation of the PrintPropertyStorage function. Pour une autre sortie, consultez le IDiaInjectedSource interface.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();  
    }  
}  

Configuration requiseRequirements

En-tête : Dia2.hHeader: Dia2.h

Bibliothèque : diaguids.libLibrary: diaguids.lib

DLL : msdia80.dllDLL: msdia80.dll

Voir aussiSee Also

Interfaces (SDK Debug Interface Access) Interfaces (Debug Interface Access SDK)
IDiaSession::findInjectedSource IDiaSession::findInjectedSource
IDiaSession::getEnumTables IDiaSession::getEnumTables
IDiaPropertyStorage IDiaPropertyStorage
IDiaInjectedSourceIDiaInjectedSource