IBaseFilter::FindPin method (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.]

The FindPin method retrieves the pin with the specified identifier.

Syntax

HRESULT FindPin(
  [in]  LPCWSTR Id,
  [out] IPin    **ppPin
);

Parameters

[in] Id

Pointer to a constant wide-character string that identifies the pin. Call the IPin::QueryId method to retrieve a pin's identifier.

[out] ppPin

Address of a variable that receives a pointer to the pin's IPin interface. If the method fails, *ppPin is set to NULL.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
S_OK
Success.
E_POINTER
NULL pointer argument.
VFW_E_NOT_FOUND
Could not find a pin with this identifier.

Remarks

This method supports graph persistence. Use the IPin::QueryId method to save a pin's state, and use this method to restore the state. The pin's identifier string is defined by the filter implementation. The identifier must be unique within the filter.

If the method succeeds, the IPin interface that it returns has an outstanding reference count. Be sure to release the interface when you are done.

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)
Library Strmiids.lib

See also

Error and Success Codes

IBaseFilter Interface