IDiaEnumDebugStreamData
Предоставляет доступ к записям в потоке данных отладки.
IDiaEnumDebugStreamData : IUnknown
Методы в том порядке Vtable
В следующей таблице показаны методы IDiaEnumDebugStreamData.
Метод |
Описание |
---|---|
Извлекает интерфейс IEnumVARIANT версия данного перечислителя. |
|
Извлекает число записей в потоке данных отладки. |
|
Возвращает имя потока данных отладки. |
|
Возвращает указанную запись. |
|
Извлекает заданное количество записей из указанной последовательности. |
|
Пропустить указанное количество записей в указанной последовательности. |
|
Сбросить перечисляемая последовательность в начало. |
|
Создает перечислитель, который содержит ту же указанной последовательности, что и текущий перечислитель. |
Заметки
Этот интерфейс представляет поток записей в потоке данных отладки. Размер каждой записи и интерпретация зависит от потоке данных запись принадлежит. Этот интерфейс является предоставляет доступ к необработанных байт данных в файле символов.
Замечания для вызывающих объектов
Вызовите IDiaEnumDebugStreams::Item OR IDiaEnumDebugStreams::Next методы получения IDiaEnumDebugStreamData объект.
Пример
В этом примере показано, как получить доступ к одному потоку данных и ее записи.
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);
}
Требования
Заголовок: Dia2.h
Библиотеки: diaguids.lib
Библиотеки DLL: msdia80.dll