IDiaSession::getEnumTables
Čítač výčtu všech tabulek obsažených v úložišti symbol načítá.
HRESULT getEnumTables (
IDiaEnumTables** ppEnumTables
);
Parametry
- ppEnumTables
[výstup] Vrátí IDiaEnumTables objektu.Výčet tabulek v úložišti symbol pomocí tohoto rozhraní.
Vrácená hodnota
V případě úspěchu vrátí S_OK; v opačném případě vrátí kód chyby.
Příklad
Tento příklad uvádí obecné funkce, která používá getEnumTables metoda získání objektu specifické čítače výčtu.Pokud čítač nalezen, vrátí funkce ukazatel, který můžete obsadit požadované rozhraní; jinak vrátí funkce NULL.
IUnknown *GetTable(IDiaSession *pSession, REFIID iid)
{
IUnknown *pUnknown = NULL;
if (pSession != NULL)
{
CComPtr<IDiaEnumTables> pEnumTables;
if (pSession->getEnumTables(&pEnumTables) == S_OK)
{
CComPtr<IDiaTable> pTable;
DWORD celt = 0;
while(pEnumTables->Next(1,&pTable,&celt) == S_OK &&
celt == 1)
{
if (pTable->QueryInterface(iid, (void **)pUnknown) == S_OK)
{
break;
}
pTable = NULL;
}
}
}
return(pUnknown);
}