IPin Interface

Microsoft DirectShow 9.0

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.

In addition to the methods inherited from IUnknown, the IPin interface exposes the following methods.

Method Description
Connect Connects the pin to another pin.
ReceiveConnection Accepts a connection from another pin.
Disconnect Breaks the current pin connection.
ConnectedTo Retrieves the pin connected to this pin.
ConnectionMediaType Retrieves the media type for the current pin connection.
QueryPinInfo Retrieves information about the pin, such as the name, the owning filter, and the direction.
QueryId Retrieves the pin identifier.
QueryAccept Determines whether the pin accepts a specified media type.
EnumMediaTypes Enumerates the pin's preferred media types.
QueryInternalConnections Retrieves the pins that are connected internally to this pin (within the filter).
EndOfStream Notifies the pin that no additional data is expected.
BeginFlush Begins a flush operation.
EndFlush Ends a flush operation.
NewSegment Notifies the pin that media samples received after this call are grouped as a segment.
QueryDirection Retrieves the direction of the pin (input or output).


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

Library: Use Strmiids.lib.