Microsoft DirectX 8.0

IQualityControl インターフェイス

このインターフェイスは、品質コントロールのサポートを提供する。品質コントロール メッセージを生成または取得できるオブジェクトは、このインターフェイスを公開する。そのようなオブジェクトには、レンダリング フィルタ (通常、品質コントロール メッセージを生成する)、ピン (それらを受け取る)、および外部の品質 マネージャ (やはりそれらを受け取る) が含まれる。

レンダリング フィルタは、アップストリーム フィルタの出力ピンの IQualityControl::Notify メソッドを呼び出して、品質コントロール メッセージを生成する。アップストリーム フィルタは、そのメッセージを処理するか、またはアップストリームに渡す。

アプリケーションでは、独自の品質コントロール マネージャを実装できる。品質コントロール メッセージの受信者として、その品質コントロール マネージャを指定するには、レンダラの IQualityControl::SetSink を呼び出す。このメソッドを呼び出すと、品質コントロール メッセージのデフォルト処理がオーバーライドされる。

ただし、多くのアプリケーションでは、独自の品質コントロール マネージャを実装しない。したがって、この特殊なケースを除き、通常、アプリケーションでこのインターフェイスを使用することはない。詳細については、「品質コントロールの管理」を参照すること。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IQualityControl メソッド説明
Notify 品質の変更が要求されたことを受信者に通知する。
SetSink 品質 メッセージを受け取る IQualityControl オブジェクトを設定する。

IQualityControl::Notify

IQualityControl インターフェイス

品質の変更が要求されたことをフィルタに通知する。

構文

HRESULT Notify(
    IBaseFilter *pSelf,
    Quality q
);

パラメータ

pSelf
[in] 品質通知の送信元フィルタへのポインタ。
q
[in] 品質通知の構造体。

戻り値

実装に応じた HRESULT 値を返す。HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL失敗。
E_POINTERNull ポインタ引数。
E_INVALIDARG無効な引数。
E_NOTIMPLメソッドがサポートされていない。
S_OK または NOERROR成功。

IQualityControl::SetSink

IQualityControl インターフェイス

品質 メッセージを受け取る IQualityControl オブジェクトを設定する。

構文

HRESULT SetSink(
    IQualityControl *piqc
);

パラメータ

piqc
通知の送信先 IQualityControl オブジェクトへのポインタ。

戻り値

実装に応じた HRESULT 値を返す。HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL失敗。
E_POINTERNull ポインタ引数。
E_INVALIDARG無効な引数。
E_NOTIMPLメソッドがサポートされていない。
S_OK または NOERROR成功。

注意

このメソッドの呼び出しを受け取るフィルタは、piqc を記録しなければならないが、それに参照カウントを追加してはならない。ポインタが指すオブジェクトは、品質 マネージャであり、フィルタ グラフ (たとえば、PID) の一部である。ここに参照カウントを追加すると、循環参照の危険性がある。

piqc で指定されたオブジェクトの参照は、このメソッドが値 NULL で呼び出されまで、有効であることが保証される。