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.
Menghitung berbagai elemen data bingkai yang terkandung dalam sumber data.
Sintaks
IDiaEnumFrameData : IUnknown
Metode dalam Urutan Vtable
Tabel berikut memperlihatkan metode IDiaEnumFrameData.
| Metode | Deskripsi |
|---|---|
| IDiaEnumFrameData::get__NewEnum | Mengambil versi IEnumVARIANT Interface dari enumerator ini. |
| IDiaEnumFrameData::get_Count | Mengambil jumlah elemen data bingkai. |
| IDiaEnumFrameData::Item | Mengambil elemen data bingkai dengan cara indeks. |
| IDiaEnumFrameData::Berikutnya | Mengambil jumlah elemen data bingkai tertentu dalam urutan enumerasi. |
| IDiaEnumFrameData::Skip | Melompati sejumlah elemen data bingkai tertentu dalam urutan enumerasi. |
| IDiaEnumFrameData::Reset | Mereset urutan enumerasi ke awal. |
| IDiaEnumFrameData::Clone | Membuat enumerator yang berisi status enumerasi yang sama dengan enumerator saat ini. |
| IDiaEnumFrameData::frameByRVA | Mengembalikan bingkai menurut alamat virtual relatif (RVA). |
| IDiaEnumFrameData::frameByVA | Mengembalikan bingkai menurut alamat virtual (VA). |
Keterangan
Catatan untuk Penelepon
Dapatkan antarmuka ini dari metode IDiaSession::getEnumTables . Lihat contoh untuk detailnya.
Contoh
Contoh ini menunjukkan cara mendapatkan ( GetEnumFrameData fungsi) dan menggunakan ( ShowFrameData fungsi) IDiaEnumFrameData antarmuka. Lihat antarmuka IDiaFrameData untuk contoh PrintFrameData fungsi.
IDiaEnumFrameData* GetEnumFrameData(IDiaSession *pSession)
{
IDiaEnumFrameData* pUnknown = NULL;
REFIID iid = __uuidof(IDiaEnumFrameData);
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 ShowFrameData(IDiaSession *pSession)
{
IDiaEnumFrameData* pEnumFrameData = GetEnumFrameData(pSession);
if (pEnumFrameData != NULL)
{
IDiaFrameData* pFrameData;
ULONG celt = 0;
while(pEnumFrameData->Next(1, &pFrameData, &celt) == S_OK &&
celt == 1)
{
PrintFrameData(pFrameData);
pFrameData->Release();
}
pEnumFrameData->Release();
}
}
Persyaratan
Header: Dia2.h
Pustaka: diaguids.lib
DLL: msdia80.dll