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.
Menyediakan akses ke catatan dalam aliran data debug.
Sintaks
IDiaEnumDebugStreamData : IUnknown
Metode dalam Urutan Vtable
Tabel berikut memperlihatkan metode IDiaEnumDebugStreamData.
| Metode | Deskripsi |
|---|---|
| IDiaEnumDebugStreamData::get__NewEnum | Mengambil versi Antarmuka IEnumVARIANT dari enumerator ini. |
| IDiaEnumDebugStreamData::get_Count | Mengambil jumlah rekaman dalam aliran data debug. |
| IDiaEnumDebugStreamData::get_name | Mengambil nama aliran data debug. |
| IDiaEnumDebugStreamData::Item | Mengambil rekaman yang ditentukan. |
| IDiaEnumDebugStreamData::Next | Mengambil jumlah rekaman yang ditentukan dari urutan yang dijumlahkan. |
| IDiaEnumDebugStreamData::Skip | Melompati jumlah rekaman tertentu dalam urutan yang dijumlahkan. |
| IDiaEnumDebugStreamData::Reset | Mengatur ulang urutan yang dijumlahkan ke awal. |
| IDiaEnumDebugStreamData::Clone | Membuat enumerator yang berisi urutan enumerasi yang sama dengan enumerator saat ini. |
Keterangan
Antarmuka ini mewakili aliran rekaman dalam aliran data debug. Ukuran dan interpretasi setiap rekaman tergantung pada aliran data tempat rekaman berasal. Antarmuka ini secara efektif menyediakan akses ke byte data mentah dalam file simbol.
Catatan untuk Penelepon
Panggil IDiaEnumDebug Aliran::Item atau IDiaEnumDebug Aliran::Metode berikutnya untuk mendapatkan IDiaEnumDebugStreamData objek.
Contoh
Contoh ini menunjukkan cara mengakses aliran data tunggal dan rekamannya.
void PrintStreamData(IDiaEnumDebugStreamData* pStream)
{
BSTR wszName;
LONG dwElem;
ULONG celt = 0;
DWORD cbData;
DWORD cbTotal = 0;
BYTE data[1024];
if(pStream->get_name(&wszName) != S_OK)
{
wprintf_s(L"ERROR - PrintStreamData() get_name\n");
}
else
{
wprintf_s(L"Stream: %s", wszName);
SysFreeString(wszName);
}
if(pStream->get_Count(&dwElem) != S_OK)
{
wprintf(L"ERROR - PrintStreamData() get_Count\n");
}
else
{
wprintf(L"(%d)\n", dwElem);
}
while(pStream->Next(1, sizeof(data), &cbData, (BYTE *)&data, &celt) == S_OK)
{
DWORD i;
for (i = 0; i < cbData; i++)
{
wprintf(L"%02X ", data[i]);
if(i && i % 8 == 7 && i+1 < cbData)
{
wprintf(L"- ");
}
}
wprintf(L"| ");
for(i = 0; i < cbData; i++)
{
wprintf(L"%c", iswprint(data[i]) ? data[i] : '.');
}
wprintf(L"\n");
cbTotal += cbData;
}
wprintf(L"Summary :\n\tSizeof(Elem) = %d\n\tNo of Elems = %d\n\n",
cbTotal/dwElem, dwElem);
}
Persyaratan
Header: Dia2.h
Library: diaguids.lib
DLL: msdia80.dll