Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Énumère les différentes contributions de section contenues dans la source de données.
Syntaxe
IDiaEnumSectionContribs : IUnknown
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDiaEnumSectionContribs.
| Méthode | Description |
|---|---|
| IDiaEnumSectionContribs::get__NewEnum | Récupère la version de l’interface IEnumVARIANT de cet énumérateur. |
| IDiaEnumSectionContribs::get_Count | Récupère le nombre de contributions de section. |
| IDiaEnumSectionContribs::Item | Récupère les contributions de section au moyen d’un index. |
| IDiaEnumSectionContribs::Next | Récupère un nombre spécifié de contributions de section dans une séquence d’énumération. |
| IDiaEnumSectionContribs::Skip | Ignore un nombre spécifié de contributions de section dans une séquence d’énumération. |
| IDiaEnumSectionContribs::Reset | Réinitialise une séquence d'énumération. |
| IDiaEnumSectionContribs::Clone | Crée un énumérateur qui contient le même état d’énumération que l’actuel. |
Notes
Remarque pour les appelants
Obtenez cette interface à partir de la méthode IDiaSession::getEnumTables . Pour plus de détails, voir les exemples.
Exemple
Cet exemple montre comment obtenir (la fonction GetEnumSectionContribs) et utiliser (la fonction ShowSectionContribs) l’interface IDiaEnumSectionContribs. Pour obtenir un exemple plus complet d’utilisation des contributions de section, consultez l’interface IDiaSectionContrib.
IDiaEnumSectionContribs* GetEnumSectionContribs(IDiaSession *pSession)
{
IDiaEnumSectionContribs* pUnknown = NULL;
REFIID iid = __uuidof(IDiaEnumSectionContribs);
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 ShowSectionContribs(IDiaSession *pSession)
{
IDiaEnumSectionContribs* pEnumSectionContribs;
pEnumSectionContribs = GetEnumSectionContribs(pSession);
if (pSectionContrib != NULL)
{
IDiaSectionContrib* pSectionContrib;
ULONG celt = 0;
while(pEnumSectionContribs->Next(1, &pSectionContrib, &celt) == S_OK &&
celt == 1)
{
PrintSectionContrib(pSectionContrib, pSession);
pSectionContrib->Release();
}
pSectionContrib->Release();
}
}
Configuration requise
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll