Microsoft DirectX 8.0 |
IAMVfwCaptureDialogs インターフェイスは、VFW キャプチャ フィルタで実装される。このインターフェイスによって、アプリケーションは、Microsoft® Video for Windows® キャプチャ ドライバで提供される 3 種類のダイアログ ボックス (ソース、フォーマット、または表示) のいずれかを表示できる。アプリケーションで、Video for Windows キャプチャ ドライバが提供するダイアログ ボックスを使用してユーザーが設定を変更できるようにする場合は、このインターフェイスを使用する。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IAMVfwCaptureDialogs メソッド 説明 HasDialog 指定されたダイアログ ボックスがドライバ内に存在するかどうかを確認する。 ShowDialog 指定されたダイアログ ボックスを表示する。 SendDriverMessage ドライバ固有のメッセージを送信する。
指定されたダイアログ ボックスがドライバ内に存在するかどうかを確認する。
構文
HRESULT HasDialog(
int iDialog );
パラメータ
- iDialog
- [in] 必要なダイアログ ボックス。このダイアログ ボックスは VfwCaptureDialogs 列挙型のメンバである。
戻り値
ドライバに目的のダイアログ ボックスがある場合は S_OK を返す。それ以外の場合は S_FALSE を返す。
注意
このメソッドは、Video for Windows の videoDialog 関数を呼び出して、該当するダイアログ ボックスが存在するかどうかを照会する。
ドライバ固有のメッセージを送信する。
構文
HRESULT SendDriverMessage(
int iDialog,
int uMsg,
long dw1,
long dw2 );
パラメータ
- iDialog
- [in] ドライバのダイアログ ボックスのハンドル。このダイアログ ボックスは VfwCaptureDialogs 列挙型のメンバである。
- uMsg
- [in] ドライバに送信するメッセージ。
- dw1
- [in] メッセージ データ。
- dw2
- [in] メッセージ データ。
戻り値
戻り値は、各ドライバ内の実装に応じて異なる。
注意
このメソッドを使用する必要はない。このメソッドを使用すると任意のプライベート メッセージをキャプチャ ドライバに送信できる。ただし、任意のメッセージに応答する動作が決められていない場合があるので、このメソッドはユーザーの責任において使用すること。
このメソッドは、Video for Windows の videoMessage 関数を呼び出して、目的のドライバ メッセージを送信する。
指定されたダイアログ ボックスを表示する。
構文
HRESULT ShowDialog(
int iDialog,
long hwnd );
パラメータ
- iDialog
- [in] 表示するダイアログ ボックス。このダイアログ ボックスは VfwCaptureDialogs 列挙型のメンバである。
- hwnd
- [in] ダイアログ ボックスの親ウィンドウのハンドル。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。
注意
目的のドライバがストリーミング中または別のダイアログ ボックスを表示している場合は、このメソッドを使用できない。ドライバがダイアログ ボックスを表示している間は、フィルタをストリーム (停止または実行) できない。
IAMVfwCaptureDialogs::ShowDialog は、Video for Windows® の VideoDialog 関数を呼び出して、該当するダイアログ ボックスを表示する。
このメソッドを使用して VfwCaptureDialog_Format ダイアログ ボックスを表示する場合、キャプチャ フィルタがグラフで既に接続されていて、既存のグラフが新しいフォーマットを受け付けることができないと、VFW_E_CANNOT_CONNECT エラー コードが返される。このエラーが発生した場合、キャプチャ アプリケーションは、フィルタ グラフのキャプチャ フィルタのダウンストリームである部分を再構築する必要がある。