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