Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengambil enumerator untuk semua tabel yang terkandung dalam penyimpanan simbol.
Sintaks
HRESULT getEnumTables (
IDiaEnumTables** ppEnumTables
);
Parameter
ppEnumTables
[out] Mengembalikan objek IDiaEnumTables. Gunakan antarmuka ini untuk mengenumerasi tabel di penyimpanan simbol.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode galat.
Contoh
Contoh ini menyajikan fungsi umum yang menggunakan metode getEnumTables untuk memperoleh objek enumerator tertentu. Jika enumerator ditemukan, fungsi tersebut mengembalikan penunjuk yang dapat ditransmisikan ke antarmuka yang diinginkan; jika sebaliknya, fungsi mengembalikan 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);
}