IPin::QueryId
A version of this page is also available for
4/8/2010
This method retrieves an identifier for the pin.
Syntax
HRESULT QueryId(
LPWSTR* Id
);
Parameters
- Id
[out] Pin identifier.
Return Value
Returns an HRESULT value that depends on the implementation.
HRESULT can be one of the following standard constants, or other values not listed.
Value | Description |
---|---|
E_FAIL |
Failure. |
E_POINTER |
Null pointer argument. |
E_INVALIDARG |
Invalid argument. |
E_NOTIMPL |
Method is not supported. |
S_OK or NOERROR |
Success. |
Remarks
This method and the IBaseFilter::FindPin method allow connections in a filter graph to be saved and restored.
Because pins are identified only by their IPin interface pointers at run time, and pointer information cannot be reliably saved, an identifier is necessary to specify which pins belong to each filter.
The implementation of this method by the pin provides a unique name that the filter graph manager can use to turn into an IPin interface pointer, by calling IBaseFilter::FindPin when the filter graph is restored.
The storage is allocated by the filter using the Win32 CoTaskMemAlloc function. The caller should free it by using CoTaskMemFree.
This method is implemented in the base classes by CBasePin::QueryId.
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements For more information, see Setting Up the Build Environment, Version 2.12 requires DXPAK 1.0 or later |