Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
[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 | 
|---|---|
  | 
Success. | 
  | 
Insufficient memory. | 
  | 
NULL pointer argument. | 
  | 
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 |