Microsoft DirectX 8.0 |
This interface provides support for quality control. An object exposes this interface if it can generate or receive quality-control messages. This includes renderer filters (which typically generate quality control messages), pins (which receive them), and external quality managers (which also receive them).
A renderer filter generates a quality-control message by calling the IQualityControl::Notify method on the output pin of the upstream filter. The upstream filter either handles the message or passes it upstream.
An application can implement its own quality-control manager. Call IQualityControl::SetSink on the renderer to designate the quality-control manager as the recipient for quality-control messages. Calling this method overrides the default handling of quality-control messages.
However, most applications will not implement their own quality-control managers; and aside from this special case, applications typically do not use this interface. For more information, see Quality-Control Management
Methods in Vtable Order
IUnknown methods Description QueryInterface Retrieves pointers to supported interfaces. AddRef Increments the reference count. Release Decrements the reference count. IQualityControl methods Description Notify Notifies the recipient that a quality change is requested. SetSink Sets the IQualityControl object that will receive quality messages.
Notifies the filter that a quality change is requested.
Syntax
HRESULT Notify( IBaseFilter *pSelf, Quality q );
Parameters
- pSelf
- [in] Pointer to the filter that is sending the quality notification.
- q
- [in] Quality notification structure.
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.
E_FAIL Failure. E_POINTER Null pointer argument. E_INVALIDARG Invalid argument. E_NOTIMPL Method isn't supported. S_OK or NOERROR Success.
Sets the IQualityControl object that will receive quality messages.
Syntax
HRESULT SetSink( IQualityControl *piqc );
Parameters
- piqc
- Pointer to the IQualityControl object to which the notifications should be sent.
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.
E_FAIL Failure. E_POINTER Null pointer argument. E_INVALIDARG Invalid argument. E_NOTIMPL Method isn't supported. S_OK or NOERROR Success.
Remarks
The filter that receives a call to this method should record the piqc but should not add a reference count to it. The object pointed to will be a quality manager and will be a part of the filter graph (for example, a plug-in distributor). Adding a reference count to this could cause circular reference problems.
The reference to the object specified in piqc is guaranteed to be valid until this method is called with a null value.