Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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