イベント通知の概要
フィルタは、イベント通知を送信することによって、フィルタ グラフ マネージャにイベントを通知する。イベントは、ストリームの終わりのように予測できる場合もあれば、ストリームのレンダリング失敗のようなエラーの場合もある。フィルタ グラフ マネージャ自身が処理するフィルタ イベントもあれば、アプリケーションが処理するフィルタ イベントもある。フィルタ グラフ マネージャは、フィルタ イベントを処理しない場合、イベント通知をキューに入れる。フィルタ グラフはアプリケーションに対する独自のイベント通知をキューに入れることもできる。
アプリケーションはキューからイベントを取得し、イベントのタイプに基づいて応答する。そのため、DirectShow でのイベント通知は Microsoft® Windows® のメッセージ キューイングのしくみに似ている。アプリケーションは、特定のイベント タイプに対するフィルタ グラフ マネージャのデフォルト動作を取り消すこともできる。この場合、フィルタ グラフ マネージャはイベントを直接キューに入れ、アプリケーションにイベントを処理させることができる。
このメカニズムによって次のことが可能になる。
- フィルタ グラフ マネージャがアプリケーションと通信する。
- フィルタがアプリケーションおよびフィルタ グラフ マネージャの両方と通信する。
- アプリケーションがイベント処理にかかわる度合いを決定する。