Microsoft DirectShow 9.0


The Next method retrieves a specified number of pins in the enumeration sequence.


  ULONG cPins,
  IPin **ppPins,
  ULONG *pcFetched



[in] Number of pins to retrieve.


[out] Array of size cPins that is filled with IPin pointers. The caller must release the interfaces.


[out] Pointer to a variable that receives the number of pins retrieved. Can be NULL if cPins is 1.

Return Values

Returns one of the following HRESULT values.

Value Description
S_FALSE Did not retrieve as many pins as requested.
S_OK Success.
E_INVALIDARG Invalid argument.
E_POINTER NULL pointer argument.
VFW_E_ENUM_OUT_OF_SYNC The filter's state has changed and is now inconsistent with the enumerator.


This method retrieves pointers to the specified number of pins, starting at the current position in the enumeration, and places them in the specified array.

If the method succeeds, the IPin pointers all have outstanding reference counts. Be sure to release them when you are done.

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 Next method safely.


Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.

See Also