次の方法で共有


IOverlay インターフェイス (strmif.h)

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

インターフェイスは IOverlay 、ビデオを正しいウィンドウ位置に配置しながら、フィルターがビデオ メモリに直接書き込むことができるように情報を提供します。 これは、ビデオ レンダラーの入力ピンに実装され、そのフィルターの IOverlayNotify メソッドを呼び出してビデオ ウィンドウへの変更を通知することで、アップストリーム フィルター (通常はビデオ圧縮解除器) と通信します。

このインターフェイスには、DirectDraw® オーバーレイ機能との関係はありません。 Microsoft ビデオ レンダラーは、 IMemInputPin インターフェイスを介して受け取るデータを描画し、使用可能な場合は DirectDraw オーバーレイを使用します。 IMemInputPin の代わりに使用されるこのインターフェイスは、レンダラーの描画機能をバイパスするが、他の表示プロパティの通知が必要なアップストリーム フィルターの通知サポートを提供することを目的としています。

インターフェイスと IOverlayNotify インターフェイスの連携方法 IOverlay の詳細については、 IOverlayNotify リファレンス ページを参照してください。

レンダリング ウィンドウへの変更の非同期通知の詳細については、 IOverlayNotify2 インターフェイスを参照してください。

このインターフェイスは、Microsoft® DirectShow® ビデオ レンダラー フィルターに実装されます。 必要に応じて、代替ビデオ レンダラー フィルターに実装することもできます。 そうする場合は、フレーム バッファーに直接書き込むか、オーバーレイを配置しようとするフィルターがビデオを表示する場所を知るように、このインターフェイスを実装します。 このインターフェイスを実装するには、描画を行うフィルターの IOverlayNotify インターフェイスまたは IOverlayNotify2 インターフェイスでメソッドを使用するようにレンダラーを準備し、ビデオ プロパティの変更を通知する必要があります。

DirectShow のウィンドウ ベースのレンダラーでは、 IMemInputPin インターフェイスと IOverlay インターフェイスの両方がサポートされています。 これら 2 つのインターフェイスは相互に排他的です。 フィルターは、接続中にMEDIASUBTYPE_Overlayのサブタイプを持つメディアの種類を指定することによって 、IOverlay トランスポートを使用することを選択します。 接続後、インターフェイスを正常に IOverlay 取得して使用できるようになります。 他のビデオ形式 (MEDIASUBTYPE_RGB8 など) と接続すると、 を呼 IOverlay び出そうとすると、VFW_E_NOT_OVERLAY_CONNECTIONが返されます。

ビデオ オーバーレイ プロパティを制御する必要があり、ビデオ データ自体の表示を処理するアップストリーム フィルターから、この関数のメソッドを使用します。 これは通常、ビデオ ハードウェアへの代替接続を持つハードウェア ビデオ デコーダーによって使用されます。

継承

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

メソッド

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

 
IOverlay::Advise

Advise メソッドは、dwInterests パラメーターで指定されたオーバーレイ イベントのアドバイズ リンクを設定します。
IOverlay::GetClipList

GetClipList メソッドは、クリッピング リストを取得します。
IOverlay::GetColorKey

GetColorKey メソッドは、クロマ キー処理に使用されている現在のカラー キーを取得します。
IOverlay::GetDefaultColorKey

GetDefaultColorKey メソッドは、クロマ キー オーバーレイに使用される既定の色キーを取得します。
IOverlay::GetPalette

GetPalette メソッドは、現在のシステム パレットを取得します。
IOverlay::GetVideoPosition

GetVideoPosition メソッドは、現在のビデオ ソースとターゲットの四角形を取得します。
IOverlay::GetWindowHandle

GetWindowHandle メソッドは、現在のウィンドウ ハンドルを取得します。
IOverlay::SetColorKey

SetColorKey メソッドは、カラー キーを変更します。
IOverlay::SetPalette

SetPalette メソッドはパレットを設定します。
IOverlay::Unadvise

Unadvise メソッドは、IOverlayNotify インターフェイスで確立されたアドバイズ リンクを終了します。

要件

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