Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sembol deposunda bulunan tüm tablolar için bir numaralandırıcı alır.
Sözdizimi
HRESULT getEnumTables (
IDiaEnumTables** ppEnumTables
);
Parametreler
ppEnumTables
[out] Bir IDiaEnumTables nesnesi döndürür. Sembol deposundaki tabloları numaralandırmak için bu arabirimi kullanın.
İade Değeri
Başarılı olursa döndürür S_OK; aksi takdirde bir hata kodu döndürür.
Örnek
Bu örnek, belirli bir numaralandırıcı nesnesini elde etmek için yöntemini kullanan getEnumTables genel bir işlev sunar. Numaralandırıcı bulunursa, işlev istenen arabirime atanabilecek bir işaretçi döndürür; aksi takdirde işlevi döndürür 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);
}