Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This class supports the IEnumPinsenumeration interface by calling CBaseFiltermethods. The CBaseFilterclass supports the IBaseFilter::EnumPinsmethod.
Each time one of this interface's methods is called, the CBaseFilterclass checks to see if the pins that it enumerates have changed; it does this by calling CBaseFilter::GetPinVersionand 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::GetPinVersionmember function.
These member functions then return VFW_E_ENUM_OUT_OF_SYNCif the version has changed. This should always work unless the filter has overridden CBaseFilter::GetPinVersionto do something unexpected.
All member functions in this class that return HRESULTand accept a pointer as a parameter return E_POINTER when passed a null pointer.
Member Functions
Member function | Description |
---|---|
Constructs a CEnumPinsobject. |
Implemented IUnknown Methods
Method | Description |
---|---|
Increments the reference count. |
|
Returns pointers to supported interfaces. |
|
Decrements the reference count. |
Implemented IEnumPins Methods
Method | Description |
---|---|
Creates a duplicate CEnumPinsobject with the same initial state. |
|
Returns the next pin after the current position. |
|
Sets the current position back to the beginning. |
|
Skips over one or more entries in the enumerator. |
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have
different include file and Library requirements
For more information, see Setting Up the Build Environment |