Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Recupera un enumeratore per tutte le tabelle contenute nell'archivio simboli.
HRESULT getEnumTables (
IDiaEnumTables** ppEnumTables
);
Parametri
- ppEnumTables
[out] restituisce IDiaEnumTables oggetto.Utilizzare questa interfaccia per enumerare le tabelle nell'archivio simboli.
Valore restituito
Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.
Esempio
In questo esempio sono presenti una funzione generale che utilizza getEnumTables metodo per ottenere un oggetto enumerator specifico.Se l'enumeratore è presente, la funzione restituisce un puntatore che è possibile eseguire il cast dell'interfaccia desiderata, in caso contrario, la funzione restituisce 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);
}