IPin interface

This interface is exposed by all input and output pins.

The filter graph manager uses this interface to connect pins and perform flushing operations. Applications can use this interface to query the pin for information. Applications should never call IPin methods that change a pin's state, such as Connect, Disconnect, BeginFlush, or EndFlush. To connect pins, an application must use the methods in IGraphBuilder.

Filter developers: The CBasePin, CBaseInputPin, and CBaseOutputPin classes implement this interface. Other base classes derive from these three classes.


The IPin interface inherits from the IUnknown interface. IPin also has these types of members:


The IPin interface has these methods.

Method Description
IPin::BeginFlush The BeginFlush method begins a flush operation.
IPin::Connect The Connect method connects the pin to another pin.
IPin::ConnectedTo The ConnectedTo method retrieves a pointer to the connected pin, if any.
IPin::ConnectionMediaType The ConnectionMediaType method retrieves the media type for the current pin connection, if any.
IPin::Disconnect The Disconnect method breaks the current pin connection.
IPin::EndFlush The EndFlush method ends a flush operation.
IPin::EndOfStream The EndOfStream method notifies the pin that no additional data is expected, until a new run command is issued to the filter.
IPin::EnumMediaTypes The EnumMediaTypes method enumerates the pin's preferred media types.
IPin::NewSegment The NewSegment method notifies the pin that media samples received after this call are grouped as a segment, with a common start time, stop time, and rate.
IPin::QueryAccept The QueryAccept method determines whether the pin accepts a specified media type.
IPin::QueryDirection The QueryDirection method gets the direction of the pin (input or output).
IPin::QueryId The QueryId method retrieves an identifier for the pin.
IPin::QueryInternalConnections The QueryInternalConnections method retrieves the pins that are connected internally to this pin (within the filter).
IPin::QueryPinInfo The QueryPinInfo method retrieves information about the pin.
IPin::ReceiveConnection The ReceiveConnection method accepts a connection from another pin.


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)