IPin interface (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

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.

Inheritance

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

Methods

The IPin interface has these methods.

 
IPin::BeginFlush

The BeginFlush method begins a flush operation. (IPin.BeginFlush)
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.EndFlush)
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.

Requirements

Requirement Value
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)