[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
CBaseControlWindow クラスは IVideoWindow インターフェイスを実装し、関連付けられているフィルターへの外部アクセスを制御します。 CBaseControlWindow オブジェクトをフィルターと同期するには、重要なセクション同期オブジェクトへのポインターを渡します。 CBaseControlWindow クラスには、この重要なセクションを処理せずにプロパティ設定を返すメソッドが多数用意されています。 たとえば、 CBaseControlWindow::get_AutoShow を呼び出して 、m_bAutoShow データ メンバーの値を取得すると、クリティカル セクションがロックされます。 ただし、フィルターにはロックされた内部クリティカル セクションが既にある可能性がありますが、フィルターのロック階層に違反する可能性があります。 代わりに、 CBaseControlWindow::IsAutoShowEnabled メンバー関数を呼び出すと、クリティカル セクションに影響を与えることなく、必要な値が返されます。
CBaseControlWindow で実装されているすべての IVideoWindow メソッドでは、フィルターをアップストリーム フィルターと正しく接続する必要があります。 このため、クラス オブジェクトには、 CBaseControlWindow::SetControlWindowPin メソッドを呼び出して設定する同期ピンが必要です。 IVideoWindow メソッドを呼び出すたびに、CBaseControlWindow オブジェクトはピンがまだ接続されていることを確認します。
| プロテクト データ メンバー | 説明 |
|---|---|
| m_bAutoShow | 状態が変更されたときの結果。 |
| m_bCursorHidden | カーソルを表示するか非表示にするかを決定します。 |
| m_BorderColour | 現在のウィンドウ罫線の色。 |
| m_hwndDrain | 受信したメッセージが投稿されるウィンドウ ハンドル。 |
| m_hwndOwner | 所有ウィンドウ。 |
| m_pFilter | 所有するメディア フィルターへのポインター。 |
| m_pInterfaceLock | 外部定義のクリティカル セクション。 |
| m_pPin | 接続のメディアの種類を制御します。 |
| メンバー関数 | 説明 |
| CBaseControlWindow | CBaseControlWindow オブジェクトを構築します。 |
| DoGetWindowStyle | 一般的なウィンドウ スタイルまたは拡張ウィンドウ スタイルを取得します。 |
| DoSetWindowStyle | 一般的なウィンドウ スタイルまたは拡張ウィンドウ スタイルを設定します。 |
| GetBorderColour | 現在の罫線の色を取得します。 これはヘルパー メンバー関数です。 |
| GetOwnerWindow | 所有ウィンドウを取得します。 これはヘルパー メンバー関数です。 |
| IsAutoShowEnabled | レンダリング フィルターの一時停止または実行時にビデオ ウィンドウが自動的に表示されるかどうかに関する情報を取得します。 |
| IsCursorHidden | クリティカル セクションをロックせずに 、m_bCursorHidden データ メンバーの現在の状態を取得します。 これはヘルパー メンバー関数です。 |
| 可能性があるEatMessage | 親ウィンドウにメッセージを配布します。 |
| SetControlWindowPin | 適用先のピンをオブジェクトに通知します。 |
| IVideoWindow メソッド | 説明 |
| get_AutoShow | 現在の AutoShow フラグ設定を取得します。 |
| get_BackgroundPalette | バックグラウンド フラグで、実現されたパレットを取得します。 |
| get_BorderColor | 現在の罫線の色を取得します。 |
| get_Caption | 現在のウィンドウ キャプションを取得します。 |
| FullScreenMode のget_ | 現在の全画面表示モードを取得します。 |
| get_Height | 現在のウィンドウの高さを取得します。 |
| get_Left | 現在の左ウィンドウ座標を取得します。 |
| GetMaxIdealImageSize | 理想的なイメージの最大サイズを取得します。 |
| get_MessageDrain | 現在のメッセージ ドレインを取得します。 |
| GetMinIdealImageSize | 理想的なイメージの最小サイズを取得します。 |
| get_Owner | 親ウィンドウ ハンドルを取得します。 |
| GetRestorePosition | 最大化または最小化されたときにウィンドウを復元する位置を取得します。 |
| get_Top | ウィンドウの上部の y 座標を取得します。 |
| get_Visible | ウィンドウの現在の表示設定を取得します。 |
| get_Width | ウィンドウの幅を取得します。 |
| GetWindowPosition | 現在のウィンドウ座標を取得します。 |
| get_WindowState | ウィンドウの現在の状態を取得します。 |
| get_WindowStyle | 標準のウィンドウ スタイルを取得します。 |
| get_WindowStyleEx | 拡張ウィンドウ スタイルを取得します。 |
| HideCursor | カーソルを非表示または表示します。 |
| IsCursorHidden | m_bCursorHidden データ メンバーの現在の状態を取得します。 |
| NotifyOwnerMessage | 所有しているウィンドウに送信されるメッセージを渡します。 |
| put_AutoShow | AutoShow プロパティを設定します。 |
| put_BackgroundPalette | パレットをバックグラウンドで実現するためのフラグを設定します。 |
| put_BorderColor | 現在の罫線の色を設定します。 |
| put_Caption | 現在のウィンドウ キャプションを設定します。 |
| FullScreenMode のput_ | 全画面表示モードを設定します。 |
| put_Height | 現在のウィンドウの高さを設定します。 |
| put_Left | ウィンドウの左座標を設定します。 |
| put_MessageDrain | メッセージ ドレイン ウィンドウを設定します。 |
| put_Owner | Microsoft Win32 親ウィンドウ ハンドルを設定します。 |
| put_Top | ウィンドウの上部の位置を設定します。 |
| put_Visible | ウィンドウを非表示または表示します。 |
| put_Width | ウィンドウの幅を設定します。 |
| put_WindowState | ウィンドウの状態を設定します。 |
| put_WindowStyle | 標準のウィンドウ スタイルを設定します。 |
| put_WindowStyleEx | 拡張ウィンドウ のスタイルを設定します。 |
| SetWindowForeground | 前景のウィンドウを設定します。 |
| SetWindowPosition | ウィンドウの位置を設定します。 |
関連項目