IVideoWindow インターフェイス (control.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

インターフェイスは IVideoWindow 、ビデオ ウィンドウのプロパティを設定します。 アプリケーションはそれを使用して、ウィンドウの所有者、ウィンドウの位置とディメンション、およびその他のプロパティを設定できます。

メモIVMRWindowlessControl または IVMRWindowlessControl9 インターフェイスが よりIVideoWindow優先されるようになりました。 詳細については、「 ウィンドウレス モードの使用」を参照してください。
 
Video Renderer フィルターと Filter Graph Manager の両方で、このインターフェイスが公開されます。 Filter Graph Manager は、すべてのメソッド呼び出しをビデオ レンダラーに転送します。 また、ビデオ レンダラーが受信する必要がある特定のウィンドウ メッセージ ( WM_DISPLAYCHANGEなど) も転送します。 ビデオ ウィンドウは通常、アプリケーション ウィンドウの子であるため、フィルターはそれ以外の場合、これらのメッセージを受信しません。 そのため、フィルター グラフ マネージャーを使用して転送します。

ほとんどの場合、アプリケーションでは、このインターフェイスに対して Filter Graph Manager に対してクエリを実行し、前述のメッセージングの問題のため、フィルターを直接呼び出さないでください。 ただし、フィルター グラフに複数のビデオ レンダラーがある場合、フィルター グラフ マネージャーは、任意に選択されたいずれかのビデオ レンダラーとのみ通信します。 そのため、アプリケーションで複数のビデオ ウィンドウを使用する場合は、フィルターで インターフェイスを IVideoWindow 直接使用します。 その場合は、 IVideoWindow::NotifyOwnerMessage メソッドを使用して、各 Video Renderer インスタンスにウィンドウ メッセージを転送する必要があります。

再描画中にビデオ ウィンドウがちらつくのを防ぐには、 WM_ERASEBKGND メッセージの既定の処理をオーバーライドし、ウィンドウを消去しないでください。 (MFC アプリケーションの場合は、空のハンドラーで CWnd::OnEraseBkgnd をオーバーライドします)。

ビデオ レンダラーに設定されたプロパティは、連続する接続と切断の間で保持されます。

このインターフェイスはオートメーション互換であるため、すべてのブール値は OAFALSE (0) と OATRUE (-1) として定義されます。

エラー コード: ビデオ レンダラー フィルターが別のフィルターに接続されていない場合、すべてのメソッドはエラー コード VFW_E_NOT_CONNECTEDを返します。 Filter Graph Manager の実装では、グラフにビデオ レンダラー フィルターが含まれていない場合、すべてのメソッドはE_NOINTERFACEを返します。 フィルター グラフ マネージャーは、グラフにビデオ レンダラーが含まれていない場合でもインターフェイスを公開するため、アプリケーションはグラフをビルドする前にインターフェイスのクエリを実行できます。

フィルター開発者: CBaseVideoWindow クラスを使用すると、このインターフェイスの実装に役立ちます。

継承

IVideoWindow インターフェイスは、IDispatch インターフェイスから継承されます。 IVideoWindow には、次の種類のメンバーもあります。

メソッド

IVideoWindow インターフェイスには、これらのメソッドがあります。

 
IVideoWindow::get_AutoShow

get_AutoShow メソッドは、ビデオ データを受信したときにビデオ レンダラーがビデオ ウィンドウを自動的に表示するかどうかを照会します。
IVideoWindow::get_BackgroundPalette

get_BackgroundPalette メソッドは、ビデオ ウィンドウがそのパレットをバックグラウンドで認識するかどうかを照会します。
IVideoWindow::get_BorderColor

get_BorderColor メソッドは、変換先の四角形の端の周囲に表示される色を取得します。
IVideoWindow::get_Caption

get_Caption メソッドは、ビデオ ウィンドウのキャプションを取得します。
IVideoWindow::get_FullScreenMode

get_FullScreenMode メソッドは、ビデオ レンダラーが全画面表示モードであるかどうかを照会します。
IVideoWindow::get_Height

get_Height メソッドは、ビデオ ウィンドウの高さを取得します。
IVideoWindow::get_Left

get_Left メソッドは、ビデオ ウィンドウの x 軸座標を取得します。
IVideoWindow::get_MessageDrain

get_MessageDrain メソッドは、ビデオ ウィンドウからマウス メッセージとキーボード メッセージを受信するウィンドウ (存在する場合) を取得します。
IVideoWindow::get_Owner

get_Owner メソッドは、ビデオ ウィンドウの親ウィンドウ (存在する場合) を取得します。
IVideoWindow::get_Top

get_Top メソッドは、ビデオ ウィンドウの y 座標を取得します。
IVideoWindow::get_Visible

get_Visible メソッドは、ビデオ ウィンドウが表示されているかどうかを照会します。
IVideoWindow::get_Width

get_Width メソッドは、ビデオ ウィンドウの幅を取得します。
IVideoWindow::get_WindowState

get_WindowState メソッドは、ビデオ ウィンドウが表示、非表示、最小化、最大化のいずれであるかを照会します。
IVideoWindow::get_WindowStyle

get_WindowStyle メソッドは、ビデオ ウィンドウのウィンドウ スタイルを取得します。
IVideoWindow::get_WindowStyleEx

get_WindowStyleEx メソッドは、ビデオ ウィンドウの拡張ウィンドウ スタイルを取得します。
IVideoWindow::GetMaxIdealImageSize

GetMaxIdealImageSize メソッドは、ビデオ 画像に最適な最大イメージ サイズを取得します。
IVideoWindow::GetMinIdealImageSize

GetMinIdealImageSize メソッドは、ビデオ 画像に最適な最小サイズを取得します。
IVideoWindow::GetRestorePosition

GetRestorePosition メソッドは、復元されたウィンドウ位置を取得します。
IVideoWindow::GetWindowPosition

GetWindowPosition メソッドは、ビデオ ウィンドウの位置を取得します。
IVideoWindow::HideCursor

HideCursor メソッドは、ビデオ ウィンドウ上にマウスを置いたときにカーソルを表示または非表示にします。
IVideoWindow::IsCursorHidden

IsCursorHidden メソッドは、カーソルが非表示かどうかを照会します。
IVideoWindow::NotifyOwnerMessage

NotifyOwnerMessage メソッドは、ビデオ ウィンドウにメッセージを転送します。
IVideoWindow::p ut_AutoShow

put_AutoShow メソッドは、ビデオ データを受信したときにビデオ レンダラーがビデオ ウィンドウを自動的に表示するかどうかを指定します。
IVideoWindow::p ut_BackgroundPalette

put_BackgroundPaletteメソッドは、ビデオ ウィンドウがバックグラウンドでそのパレットを実現するかどうかを指定します。
IVideoWindow::p ut_BorderColor

put_BorderColor メソッドは、目的の四角形の端の周囲に表示される色を設定します。
IVideoWindow::p ut_Caption

put_Caption メソッドは、ビデオ ウィンドウのキャプションを設定します。
IVideoWindow::p ut_FullScreenMode

put_FullScreenMode メソッドは、全画面表示のビデオ レンダリングを有効または無効にします。
IVideoWindow::p ut_Height

put_Height メソッドは、ビデオ ウィンドウの高さを設定します。
IVideoWindow::p ut_Left

put_Left メソッドは、ビデオ ウィンドウの x 座標を設定します。
IVideoWindow::p ut_MessageDrain

put_MessageDrain メソッドは、ビデオ ウィンドウからマウスとキーボードのメッセージを受信するウィンドウを指定します。
IVideoWindow::p ut_Owner

put_Owner メソッドは、ビデオ ウィンドウの親ウィンドウを指定します。
IVideoWindow::p ut_Top

put_Topメソッドは、ビデオ ウィンドウの y 座標を指定します。
IVideoWindow::p ut_Visible

put_Visible メソッドは、ビデオ ウィンドウを表示または非表示にします。
IVideoWindow::p ut_Width

put_Width メソッドは、ビデオ ウィンドウの幅を指定します。
IVideoWindow::p ut_WindowState

put_WindowStateメソッドは、ビデオ ウィンドウを表示、非表示、最小化、または最大化します。
IVideoWindow::p ut_WindowStyle

put_WindowStyle メソッドは、ビデオ ウィンドウのウィンドウ スタイルを設定します。
IVideoWindow::p ut_WindowStyleEx

put_WindowStyleEx メソッドは、ビデオ ウィンドウの拡張ウィンドウ スタイルを設定します。
IVideoWindow::SetWindowForeground

SetWindowForeground メソッドは、ビデオ ウィンドウを Z オーダーの先頭に配置します。
IVideoWindow::SetWindowPosition

SetWindowPosition メソッドは、ビデオ ウィンドウの位置を設定します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー control.h (Dshow.h を含む)

こちらもご覧ください

IDispatch