CEnumPins Class (Windows CE 5.0)

Send Feedback

Aa451499.filter03(en-us,MSDN.10).gif

This class supports the IEnumPins enumeration interface by calling CBaseFilter methods. The CBaseFilter class supports the IBaseFilter::EnumPins method.

Each time one of this interface's methods is called, the CBaseFilter class checks to see if the pins that it enumerates have changed; it does this by calling CBaseFilter::GetPinVersion and matching the version the filter is keeping with the version that it stores during construction.

If a pin enumerator becomes stale, there is no mechanism for resynchronizing it with the filter. The user must release the interface and retrieve another one.

Because the enumeration operation is likely to fail if the pin version changes (indicating that the filter might have added or removed pins), all member functions in this class check the version by calling a private member function, which calls the owning filter's CBaseFilter::GetPinVersion member function.

These member functions then return VFW_E_ENUM_OUT_OF_SYNC if the version has changed. This should always work unless the filter has overridden CBaseFilter::GetPinVersion to do something unexpected.

All member functions in this class that return HRESULT and accept a pointer as a parameter return E_POINTER when passed a null pointer.

Member Functions

Member function Description
CEnumPins Constructs a CEnumPins object.

Implemented IUnknown Methods

Method Description
AddRef Increments the reference count.
QueryInterface Returns pointers to supported interfaces.
Release Decrements the reference count.

Implemented IEnumPins Methods

Method Description
Clone Creates a duplicate CEnumPins object with the same initial state.
Next Returns the next pin after the current position.
Reset Sets the current position back to the beginning.
Skip Skips over one or more entries in the enumerator.

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements.

For more information, see Setting Up the Build Environment.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header:

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.