IDiaEnumSectionContribs
Vytvoří výčet různých příspěvků oddílů obsažených ve zdroji dat.
Syntaxe
IDiaEnumSectionContribs : IUnknown
Metody v pořadí Vtable
Následující tabulka ukazuje metody IDiaEnumSectionContribs
.
metoda | Popis |
---|---|
IDiaEnumSectionContribs::get__NewEnum | Načte verzi rozhraní IEnumVARIANT tohoto enumerátoru. |
IDiaEnumSectionContribs::get_Count | Načte početpříspěvkůch |
IDiaEnumSectionContribs::Item | Načte příspěvky oddílů pomocí indexu. |
IDiaEnumSectionContribs::Next | Načte zadaný počet příspěvků oddílu v sekvenci výčtu. |
IDiaEnumSectionContribs::Skip | Přeskočí zadaný počet příspěvků oddílu v sekvenci výčtu. |
IDiaEnumSectionContribs::Reset | Obnoví sekvenci výčtu na začátek. |
IDiaEnumSectionContribs::Clone | Vytvoří enumerátor, který obsahuje stejný stav výčtu jako aktuální výčet. |
Poznámky
Poznámka pro volající
Získejte toto rozhraní z IDiaSession::getEnumTables metoda. Podrobnosti najdete v příkladu.
Příklad
Tento příklad ukazuje, jak získat ( GetEnumSectionContribs
funkci) a použít ( ShowSectionContribs
funkce) IDiaEnumSectionContribs
rozhraní. Podrobnější příklad použití příspěvků oddílů najdete v rozhraní 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();
}
}
Požadavky
Hlavička: Dia2.h
Knihovna: diaguids.lib
DLL: msdia80.dll