IEnumPins::Clone method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The Clone method makes a copy of the enumerator with the same enumeration state.

Syntax

HRESULT Clone(
  [out] IEnumPins **ppEnum
);

Parameters

[out] ppEnum

Receives a pointer to the IEnumPins interface of the new enumerator. The caller must release the interface.

Return value

Returns one of the following HRESULT

Return code Description
S_OK
Success.
E_OUTOFMEMORY
Insufficient memory.
E_POINTER
NULL pointer argument.
VFW_E_ENUM_OUT_OF_SYNC
The filter's state has changed and is now inconsistent with the enumerator.

Remarks

If the number of pins changes, the enumerator is no longer consistent with the filter, and the method returns VFW_E_ENUM_OUT_OF_SYNC. Discard any data obtained from previous calls to the enumerator, because it might be invalid. Update the enumerator by calling the IEnumPins::Reset method. You can then call the Clone method safely.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IEnumPins Interface