IPin::QueryId 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 QueryId method retrieves an identifier for the pin.

Syntax

HRESULT QueryId(
  [out] LPWSTR *Id
);

Parameters

[out] Id

Receives a string containing the pin identifier.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
S_OK
Success.
E_OUTOFMEMORY
Insufficient memory.
E_POINTER
NULL pointer argument.

Remarks

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

Note  The pin identifier is not necessarily the same as the pin name that the QueryPinInfo method returns.
 
The filter allocates the returned string using the CoTaskMemAlloc function. The caller must free it using CoTaskMemFree.

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

Data Flow in the Filter Graph

Error and Success Codes

IPin Interface