IDiaEnumDebugStreamData
Poskytuje přístup k záznamům v ladicím datovém streamu.
Syntaxe
IDiaEnumDebugStreamData : IUnknown
Metody v pořadí Vtable
Následující tabulka ukazuje metody IDiaEnumDebugStreamData
.
metoda | Popis |
---|---|
IDiaEnumDebugStreamData::get__NewEnum | Načte verzi rozhraní IEnumVARIANT tohoto enumerátoru. |
IDiaEnumDebugStreamData::get_Count | Načte počet záznamů v datovém proudu ladění. |
IDiaEnumDebugStreamData::get_name | Načte název streamu dat ladění. |
IDiaEnumDebugStreamData::Item | Načte zadaný záznam. |
IDiaEnumDebugStreamData::Next | Načte zadaný počet záznamů z výčtové sekvence. |
IDiaEnumDebugStreamData::Skip | Přeskočí zadaný počet záznamů v výčtové sekvenci. |
IDiaEnumDebugStreamData::Reset | Obnoví výčtové sekvence na začátek. |
IDiaEnumDebugStreamData::Clone | Vytvoří enumerátor, který obsahuje stejnou výčtovou sekvenci jako aktuální enumerátor. |
Poznámky
Toto rozhraní představuje datový proud záznamů v ladicím datovém proudu. Velikost a interpretace každého záznamu závisí na datovém streamu, ze který záznam pochází. Toto rozhraní efektivně poskytuje přístup k nezpracovaným datům v souboru symbolů.
Poznámky pro volající
Volání IDiaEnumDebug Toky::Item nebo IDiaEnumDebug Toky::Next metody získat IDiaEnumDebugStreamData
objekt.
Příklad
Tento příklad ukazuje, jak získat přístup k jednomu datovému streamu a jeho záznamům.
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);
}
Požadavky
Hlavička: Dia2.h
Knihovna: diaguids.lib
DLL: msdia80.dll