Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
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 HRESULTvalue that depends on the implementation.

HRESULTcan 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::FindPinmethod allow connections in a filter graph to be saved and restored.

Because pins are identified only by their IPininterface 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 IPininterface pointer, by calling IBaseFilter::FindPinwhen the filter graph is restored.

The storage is allocated by the filter using the Win32 CoTaskMemAllocfunction. 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

See Also

Reference

IPin Interface