Microsoft DirectX 8.0 |
このインターフェイスは、品質コントロールのサポートを提供する。品質コントロール メッセージを生成または取得できるオブジェクトは、このインターフェイスを公開する。そのようなオブジェクトには、レンダリング フィルタ (通常、品質コントロール メッセージを生成する)、ピン (それらを受け取る)、および外部の品質 マネージャ (やはりそれらを受け取る) が含まれる。
レンダリング フィルタは、アップストリーム フィルタの出力ピンの IQualityControl::Notify メソッドを呼び出して、品質コントロール メッセージを生成する。アップストリーム フィルタは、そのメッセージを処理するか、またはアップストリームに渡す。
アプリケーションでは、独自の品質コントロール マネージャを実装できる。品質コントロール メッセージの受信者として、その品質コントロール マネージャを指定するには、レンダラの IQualityControl::SetSink を呼び出す。このメソッドを呼び出すと、品質コントロール メッセージのデフォルト処理がオーバーライドされる。
ただし、多くのアプリケーションでは、独自の品質コントロール マネージャを実装しない。したがって、この特殊なケースを除き、通常、アプリケーションでこのインターフェイスを使用することはない。詳細については、「品質コントロールの管理」を参照すること。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IQualityControl メソッド 説明 Notify 品質の変更が要求されたことを受信者に通知する。 SetSink 品質 メッセージを受け取る IQualityControl オブジェクトを設定する。
品質の変更が要求されたことをフィルタに通知する。
構文
HRESULT Notify( IBaseFilter *pSelf, Quality q );
パラメータ
- pSelf
- [in] 品質通知の送信元フィルタへのポインタ。
- q
- [in] 品質通知の構造体。
戻り値
実装に応じた HRESULT 値を返す。HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_POINTER Null ポインタ引数。 E_INVALIDARG 無効な引数。 E_NOTIMPL メソッドがサポートされていない。 S_OK または NOERROR 成功。
品質 メッセージを受け取る IQualityControl オブジェクトを設定する。
構文
HRESULT SetSink( IQualityControl *piqc );
パラメータ
- piqc
- 通知の送信先 IQualityControl オブジェクトへのポインタ。
戻り値
実装に応じた HRESULT 値を返す。HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_POINTER Null ポインタ引数。 E_INVALIDARG 無効な引数。 E_NOTIMPL メソッドがサポートされていない。 S_OK または NOERROR 成功。
注意
このメソッドの呼び出しを受け取るフィルタは、piqc を記録しなければならないが、それに参照カウントを追加してはならない。ポインタが指すオブジェクトは、品質 マネージャであり、フィルタ グラフ (たとえば、PID) の一部である。ここに参照カウントを追加すると、循環参照の危険性がある。
piqc で指定されたオブジェクトの参照は、このメソッドが値 NULL で呼び出されまで、有効であることが保証される。