次の方法で共有


フルスクリーン モードでの通知の処理

フィルタ グラフの IVideoWindow PID は、フルスクリーン再生を管理する。この PID は、スペシャリスト フルスクリーン レンダラのためにビデオ レンダラをスワップ アウトしたり、レンダラのウィンドウをフルスクリーンに拡大したり、あるいはレンダラにフルスクリーン再生を直接実装させる。フルスクリーン プロトコルを使うためには、ビデオ レンダラはウィンドウがアクティブまたは非アクティブにされるごとに EC_ACTIVATE 通知を送信しなければならない。すなわち、レンダラが受け取るそれぞれの WM_ACTIVATEAPP メッセージに対して EC_ACTIVATE 通知を送信しなければならない。

レンダラをフルスクリーン モードで使うとき、これらの通知はフルスクリーン モードの切り替えを管理する。通常、ウィンドウの非アクティブは、ユーザーが Alt + Tab キーを押して別のウィンドウに切り替えるときに発生する。DirectShow フルスクリーン レンダラはこれをキューとして一般的なレンダリング モードに戻る。

フルスクリーン モードの終了時に EC_ACTIVATE 通知がフィルタ グラフ マネージャに送信されると、フィルタ グラフ マネージャは EC_FULLSCREEN_LOST 通知を制御アプリケーションに送信する。アプリケーションは、たとえばこの通知を使ってフルスクリーン ボタンの状態を復元する。EC_ACTIVATE 通知は、ビデオ レンダラからキューが渡されたときのフルスクリーン切り替えを管理するために DirectShow 内部で使われる。