IDiaEnumDebugStreams

Enumerates the various debug streams contained in the data source.

Syntax

IDiaEnumDebugStreams : IUnknown

Methods in Vtable Order

The following table shows the methods of IDiaEnumDebugStreams.

Method Description
IDiaEnumDebugStreams::get__NewEnum Retrieves the IEnumVARIANT version of this enumerator.
IDiaEnumDebugStreams::get_Count Retrieves the number of debug streams.
IDiaEnumDebugStreams::Item Retrieves a debug stream by means of an index.
IDiaEnumDebugStreams::Next Retrieves a specified number of debug streams in the enumeration sequence.
IDiaEnumDebugStreams::Skip Skips a specified number of debug streams in an enumeration sequence.
IDiaEnumDebugStreams::Reset Resets an enumeration sequence to the beginning.
IDiaEnumDebugStreams::Clone Creates an enumerator that contains the same enumeration state as the current enumerator.

Remarks

The content of debug streams is implementation-dependent and the data formats are undocumented.

Notes for Callers

Call the IDiaSession::getEnumDebugStreams method to obtain an IDiaEnumDebugStreams object.

Example

This example shows how to access the data streams available from this interface. See the IDiaEnumDebugStreamData interface for an implementation of the PrintStreamData function.

void DumpAllDebugStreams( IDiaSession* pSession)
{
    IDiaEnumDebugStreams* pEnumStreams;

    wprintf(L"\n\n*** DEBUG STREAMS\n\n");
    // Retrieve an enumerated sequence of debug data streams
    if(pSession->getEnumDebugStreams(&pEnumStreams) == S_OK)
    {
        IDiaEnumDebugStreamData* pStream;
        ULONG celt = 0;

        for(; pEnumStreams->Next(1, &pStream, &celt) == S_OK; pStream = NULL)
        {
            PrintStreamData(pStream);
            pStream->Release();
        }
        pEnumStreams->Release();
    }
    else
    {
        wprintf(L"Failed to get any debug streams!\n");
    }
    wprintf(L"\n");
}

Requirements

Header: Dia2.h

Library: diaguids.lib

DLL: msdia80.dll

See also