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. |
Retrieves an identifier for the pin.
HRESULT QueryId( LPWSTR * Id );
Parameters
Return Values
Returns an HRESULTvalue that depends on the implementation. HRESULTcan be one of the following standard constants, or other values not listed.
E_FAIL | Failure. |
E_POINTER | Null pointer argument. |
E_INVALIDARG | Invalid argument. |
E_NOTIMPL | Method isn't 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 Microsoft Win32 CoTaskMemAllocfunction. The caller should free it by using CoTaskMemFree.
This method is implemented in the base classes by CBasePin::QueryId.