Microsoft DirectX 8.0

IEnumStreamIdMap Interface

This interface is implemented on a standard COM collection of Stream ID maps that have been created by the MPEG-2 Demultiplexer's IMPEG2StreamIdMap::MapStreamID method. To obtain a pointer to this interface, use the IMPEG2StreamIdMap::EnumStreamIdMap method. Typically, an output pin will never have more than one stream ID mapped to it at any given time. This collection represents a snapshot of the Stream IDs mapped at the time the the collection is created. The collection is not updated automatically.

MethodNameDescription
Clone Creates a new copy of the collection and all its sub-objects.
NextRetrieves the next n elements in the collection.
ResetMoves the iterator to the beginning of the collection.
SkipSkips over the specified element in the collection.

IEnumStreamIdMap::Clone

IEnumStreamIdMap Interface

Copy the collection.

Syntax

HRESULT Clone(
    IEnumStreamIdMap** ppIEnumStreamIdMap
    );

Parameters

ppIEnumStreamIdMap
[out] Address of an IEnumStreamIdMap interface pointer that will be set to the returned collection object.

Return Value

Returns S_OK if successful. If the method fails, error information can be retrieved using the standard COM IErrorInfo interface.

IEnumStreamIdMap::Next

IEnumStreamIdMap Interface

Retrieves the next n elements in the collection.

Syntax

HRESULT Next(
    ULONG cRequest,
    STREAM_ID_MAP* pStreamIdMap,
    ULONG* pcReceived
    );

Parameters

cRequest
[in] The number of elements to retrieve.
pStreamIdMap
[in, out, size_is (cRequest)] Address of a user-allocated array containing cRequest elements that will receive the retrieved STREAM_ID_MAP structures.
pcReceived
[out] Pointer to a variable of type ULONG that receives the number of elements actually retrieved.

Return Value

Returns S_OK if successful. If the method fails, error information can be retrieved using the standard COM IErrorInfo interface.

Remarks

If cRequest> = 0 and pcReceived is not NULL, upon return pcReceived contains the number of stream ID maps remaining in the collection.

IEnumStreamIdMap::Reset

IEnumStreamIdMap Interface

Moves the iterator to the beginning of the collection.

Syntax

HRESULT Reset();

Return Value

Returns S_OK if successful. If the method fails, error information can be retrieved using the standard COM IErrorInfo interface.

IEnumStreamIdMap::Skip

IEnumStreamIdMap Interface

Skip the element at the specified index.

Syntax

HRESULT Skip(
    ULONG cRecords
    );

Parameters

cRecords
[in] Index of the element to skip.

Return Value

Returns S_OK if successful. If the method fails, error information can be retrieved using the standard COM IErrorInfo interface.