IDiaEnumDebugStreamData

提供对调试数据流的记录。

IDiaEnumDebugStreamData : IUnknown

方法按 Vtable 顺序

下表显示 IDiaEnumDebugStreamData方法。

方法

说明

IDiaEnumDebugStreamData::get__NewEnum

检索此枚举器的 IEnumVARIANT Interface 版本。

IDiaEnumDebugStreamData::get_Count

检索记录数在调试数据流的。

IDiaEnumDebugStreamData::get_name

检索调试数据流的名称。

IDiaEnumDebugStreamData::Item

检索具有指定的记录。

IDiaEnumDebugStreamData::Next

从该枚举顺序检索指定的记录数。

IDiaEnumDebugStreamData::Skip

跳过指定的记录数在一个枚举序列的。

IDiaEnumDebugStreamData::Reset

重置该枚举序列与开头。

IDiaEnumDebugStreamData::Clone

创建包含枚举序列和枚举当前枚举数相同的枚举数。

备注

此接口表示记录流在调试数据流的。每个记录的大小和解释取决于该记录来自的数据流。此接口有效提供对符号文件的原始数据字节。

调用方的说明

调用 IDiaEnumDebugStreams::ItemIDiaEnumDebugStreams::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

请参见

参考

IDiaEnumDebugStreams::Item

IDiaEnumDebugStreams::Next

其他资源

接口(调试接口访问 SDK)