IVideoWindow
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IVideoWindow インターフェースは、ビデオウィンドウのプロパティを設定します。
メソッド 39
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
put_Caption メソッドは、ビデオウィンドウのキャプションを設定します。
| strCaption | LPWSTR | in | キャプションを格納する BSTR。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_Caption メソッドは、ビデオウィンドウのキャプションを取得します。
| strCaption | LPWSTR* | out | キャプションを受け取る BSTR へのポインター。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
呼び出し元は、返された文字列を SysFreeString 関数を使用して解放する必要があります。
put_WindowStyle メソッドは、ビデオウィンドウのウィンドウスタイルを設定します。
| WindowStyle | INT | in | Windows の SetWindowLong 関数の GWL_STYLE 値に対応する 1 つ以上のフラグ。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは SetWindowLong 関数の薄いラッパーであり、慎重に扱う必要があります。特に、現在のスタイルを取得してからフラグを追加または削除するようにしてください。一部の例外を除き、Windows の CreateWindow 関数で許可されるフラグを使用できます。ただし、このメソッドをウィンドウサイズの変更に使用しないでください。また、次のフラグは使用しないでください。
get_WindowStyle メソッドは、ビデオウィンドウのウィンドウスタイルを取得します。
| WindowStyle | INT* | out | ウィンドウスタイルフラグを受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは、Windows の GetWindowLong 関数を GWL_STYLE 値で呼び出します。
put_WindowStyleEx メソッドは、ビデオウィンドウの拡張ウィンドウスタイルを設定します。
| WindowStyleEx | INT | in | Windows の SetWindowLong 関数の GWL_EXSTYLE 値に対応する 1 つ以上のフラグ。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは SetWindowLong 関数の薄いラッパーであり、慎重に扱う必要があります。特に、現在のスタイルを取得してからフラグを追加または削除するようにしてください。一部の例外を除き、Windows の CreateWindow 関数で許可されるフラグを使用できます。ただし、このメソッドをウィンドウサイズの変更に使用しないでください。
get_WindowStyleEx メソッドは、ビデオウィンドウの拡張ウィンドウスタイルを取得します。
| WindowStyleEx | INT* | out | ウィンドウスタイルフラグを受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは、Windows の GetWindowLong 関数を GWL_EXSTYLE 値で呼び出します。
put_AutoShow メソッドは、ビデオレンダラーがビデオデータを受信したときにビデオウィンドウを自動的に表示するかどうかを指定します。
| AutoShow | INT | in | ビデオレンダラーがビデオウィンドウを自動的に表示するかどうかを指定します。次のいずれかの値でなければなりません。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
既定では、フィルターグラフの状態が一時停止または実行中に変わると、ビデオレンダラーはビデオウィンドウを表示し、前面に移動します。ユーザーがウィンドウを閉じた場合、自動的に再表示されることはありません。
get_AutoShow メソッドは、ビデオレンダラーがビデオデータを受信したときにビデオウィンドウを自動的に表示するかどうかを照会します。
| AutoShow | INT* | out | 次のいずれかの値を受け取ります。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_WindowState メソッドは、ビデオウィンドウの表示、非表示、最小化、または最大化を行います。
| WindowState | INT | in | ウィンドウの表示方法を指定するフラグ。値には、ShowWindow 関数の nCmdShow パラメーターに対して定義された任意の定数を指定できます。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_WindowState メソッドは、ビデオウィンドウが表示、非表示、最小化、または最大化のいずれの状態であるかを照会します。
| WindowState | SHOW_WINDOW_CMD* | out | 次のいずれかのフラグを受け取ります。 これらのフラグの意味は、Windows の ShowWindow 関数によって定義されます。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_BackgroundPalette メソッドは、ビデオウィンドウがバックグラウンドでパレットを実現するかどうかを指定します。
| BackgroundPalette | INT | in | ビデオレンダラーがバックグラウンドでパレットを実現するかどうかを指定します。次のいずれかの値でなければなりません。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
BackgroundPalette が OATRUE であり、ビデオ画像がパレットを必要とする場合、ビデオレンダラーはそのパレットをバックグラウンドで実現します。パレットが使用するすべての色は、描画前に表示パレット内で最も近い色に変更されます。これにより、アプリケーションのパレットが乱されないことが保証されます。ただし、ビデオに深刻なパフォーマンス上のペナルティが生じます。
get_BackgroundPalette メソッドは、ビデオウィンドウがバックグラウンドでパレットを実現するかどうかを照会します。
| pBackgroundPalette | INT* | out | 次のいずれかの値を受け取ります。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_Visible メソッドは、ビデオウィンドウの表示または非表示を切り替えます。
| Visible | INT | in | ウィンドウを表示するか非表示にするかを指定します。次のいずれかの値でなければなりません。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_Visible メソッドは、ビデオウィンドウが表示されているかどうかを照会します。
| pVisible | INT* | out | ウィンドウが表示されている場合は OATRUE、非表示の場合は OAFALSE を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは、Windows の IsWindowVisible メソッドを呼び出して WS_VISIBLE スタイルビットを確認します。
put_Left メソッドは、ビデオウィンドウの x 座標を設定します。
| Left | INT | in | x 座標(ピクセル単位)。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_Left メソッドは、ビデオウィンドウの x 軸座標を取得します。
| pLeft | INT* | out | x 軸座標(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_Width メソッドは、ビデオウィンドウの幅を指定します。
| Width | INT | in | 幅(ピクセル単位)。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_Width メソッドは、ビデオウィンドウの幅を取得します。
| pWidth | INT* | out | 幅(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_Top メソッドは、ビデオウィンドウの y 座標を指定します。
| Top | INT | in | y 座標(ピクセル単位)。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_Top メソッドは、ビデオウィンドウの y 座標を取得します。
| pTop | INT* | out | y 座標(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_Height メソッドは、ビデオウィンドウの高さを設定します。
| Height | INT | in | 高さ(ピクセル単位)。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_Height メソッドは、ビデオウィンドウの高さを取得します。
| pHeight | INT* | out | 高さ(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_Owner メソッドは、ビデオウィンドウの親ウィンドウを指定します。
| Owner | INT_PTR | in | 親ウィンドウへのハンドル(OAHWND 値)。既存の親を削除するには NULL を指定します。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
複合ドキュメント内でビデオを表示するには、このメソッドを使用します。このメソッドは、ビデオウィンドウの親を変更し、ビデオウィンドウに WS_CHILD スタイルを設定します。
Filter Graph Manager を解放する前に、オーナーを NULL にリセットしてください。そうしないと、このウィンドウにメッセージが送信され続け、アプリケーションの終了時にエラーが発生する可能性があります。
get_Owner メソッドは、ビデオウィンドウの親ウィンドウがある場合、それを取得します。
| Owner | INT_PTR* | out | ウィンドウへのハンドル(OAHWND 型)を受け取ります。ビデオウィンドウに親がない場合、このパラメーターは NULL 値を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_MessageDrain メソッドは、ビデオウィンドウからのマウスおよびキーボードメッセージを受け取るウィンドウを指定します。
| Drain | INT_PTR | in | ウィンドウへのハンドル(OAHWND 値)。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドを使用すると、アプリケーションはビデオウィンドウ内で生成されるマウスおよびキーボードイベントに応答できます。
Drain が NULL 以外の場合、ビデオレンダラーは PostMessage 関数を使用して、指定されたウィンドウに特定のメッセージを転送します。どのメッセージが転送されるかは、使用しているビデオレンダラーによって異なる場合があります。Video Renderer および Video Mixing Renderer (VMR) フィルターは、次のメッセージを転送します。
- WM_CHAR
- WM_DEADCHAR
- WM_KEYDOWN
- WM_KEYUP
- WM_LBUTTONDBLCLK
- WM_LBUTTONDOWN
- WM_LBUTTONUP
- WM_MBUTTONDBLCLK
- WM_MBUTTONDOWN
- WM_MBUTTONUP
- WM_MOUSEACTIVATE
- WM_MOUSEMOVE
- WM_NCLBUTTONDBLCLK
- WM_NCLBUTTONDOWN
- WM_NCLBUTTONUP
- WM_NCMBUTTONDBLCLK
- WM_NCMBUTTONDOWN
- WM_NCMBUTTONUP
- WM_NCMOUSEMOVE
- WM_NCRBUTTONDBLCLK
- WM_NCRBUTTONDOWN
- WM_NCRBUTTONUP
- WM_RBUTTONDBLCLK
- WM_RBUTTONDOWN
- WM_RBUTTONUP
- WM_SYSCHAR
- WM_SYSDEADCHAR
- WM_SYSKEYDOWN
- WM_SYSKEYUP
get_MessageDrain メソッドは、ビデオウィンドウからのマウスおよびキーボードメッセージを受け取るウィンドウがある場合、それを取得します。
| Drain | INT_PTR* | out | ウィンドウへのハンドル(OAHWND 型)を受け取ります。メッセージドレインが設定されていない場合、このパラメーターは NULL 値を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
get_BorderColor メソッドは、対象の四角形の端の周囲に表示される色を取得します。
| Color | INT* | out | COLORREF 値を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
put_BorderColor メソッドは、対象の四角形の端の周囲に表示される色を設定します。
| Color | INT | in | 境界の色。COLORREF 値として指定します。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
対象の四角形がビデオウィンドウのクライアント領域より小さい場合、ビデオの端の周囲に境界が現れます。既定の色は黒です。既定の色を上書きするには、このメソッドを使用します。パレットが使用されている場合、システム以外の色は最も近い色に変換されます。
get_FullScreenMode メソッドは、ビデオレンダラーがフルスクリーンモードであるかどうかを照会します。
| FullScreenMode | INT* | out | ビデオレンダラーがフルスクリーンモードの場合は OATRUE、それ以外の場合は OAFALSE を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| このフィルターはフルスクリーンモードをサポートしていません。 | |
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
Filter Graph Manager がフルスクリーンモードに切り替える際、このメソッドを呼び出して、現在のビデオレンダラーがこのモードをサポートしているかどうかを判断します。レンダラーがフルスクリーン再生を本来サポートしていない場合は、E_NOTIMPL を返す必要があります。サポートしている場合は S_OK を返し、さらに FullScreenMode パラメーターに正しい値を返す必要があります。
put_FullScreenMode メソッドは、フルスクリーンビデオレンダリングを有効または無効にします。
| FullScreenMode | INT | in | フルスクリーンモードを有効にするか無効にするかを指定するブール値。次のいずれかの値でなければなりません。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| フィルターはフルスクリーンモードをサポートしていません。 | |
| 既に要求されたモードです。 | |
| 成功しました。 | |
| フルスクリーンモードをサポートするフィルターが見つかりませんでした。 |
解説(Remarks)
ビデオレンダラーによっては、アプリケーションがグラフを実行または一時停止するまで、フルスクリーンモードへの切り替えが表示されない場合があります。フルスクリーンモードでは、ユーザーがアプリケーションから離れると(たとえば ALT + TAB を使用)、Filter Graph Manager は EC_FULLSCREEN_LOST イベントを送信します。
以下の解説では、Filter Graph Manager がフルスクリーンモードをどのように実装するかについて説明します。アプリケーション開発者はおそらくこの情報を無視して構いませんが、カスタムビデオレンダラーを作成する場合には役立つ可能性があります。
アプリケーションがフルスクリーンモードに切り替わると、Filter Graph Manager は最も効率的に機能するビデオレンダラーを検索します。優先順に、次のとおりです。
- フルスクリーンモードをネイティブにサポートする、フィルターグラフ内の任意のビデオレンダラー。
- 大きなパフォーマンスコストなしにビデオをフルスクリーンに引き伸ばせる、フィルターグラフ内の任意のビデオレンダラー。
- Full Screen Renderer フィルター。
- IVideoWindow をサポートする、フィルターグラフ内の任意のビデオレンダラー。
2 番目の選択肢では、Filter Graph Manager はグラフ内のすべてのビデオレンダラーに対して IVideoWindow::GetMaxIdealImageSize および GetMinIdealImageSize を呼び出します。ディスプレイのサイズがフィルターの報告する範囲内に収まる場合、そのフィルターは大きなパフォーマンスコストなしにビデオを引き伸ばせることを示します。
SetWindowForeground メソッドは、ビデオウィンドウを Z オーダーの最前面に配置します。
| Focus | INT | in | ウィンドウにフォーカスを与えるかどうかを指定します。次のいずれかの値でなければなりません。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
NotifyOwnerMessage メソッドは、ビデオウィンドウにメッセージを転送します。
| hwnd | INT_PTR | in | ウィンドウへのハンドル(OAHWND 値)。 |
| uMsg | INT | in | メッセージを指定します。 |
| wParam | INT_PTR | in | メッセージパラメーター。 |
| lParam | INT_PTR | in | メッセージパラメーター。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
Filter Graph Manager は、次のようなさまざまなメッセージをレンダラーに渡すために、このメソッドを呼び出します。
SetWindowPosition メソッドは、ビデオウィンドウの位置を設定します。
| Left | INT | in | x 座標(ピクセル単位)。 |
| Top | INT | in | y 座標(ピクセル単位)。 |
| Width | INT | in | 幅(ピクセル単位)。 |
| Height | INT | in | 高さ(ピクセル単位)。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは、IVideoWindow::put_Left、IVideoWindow::put_Top、IVideoWindow::put_Width、IVideoWindow::put_Height の各メソッドを呼び出すのと同じ効果があります。
指定した寸法にウィンドウをサイズ変更できない場合、このメソッドはウィンドウが収まるようにサイズと位置を調整します。結果を確認するには、IVideoWindow::GetWindowPosition メソッドを呼び出します。
GetWindowPosition メソッドは、ビデオウィンドウの位置を取得します。
| pLeft | INT* | out | x 座標(ピクセル単位)を受け取ります。 |
| pTop | INT* | out | y 座標(ピクセル単位)を受け取ります。 |
| pWidth | INT* | out | ウィンドウの幅(ピクセル単位)を受け取ります。 |
| pHeight | INT* | out | ウィンドウの高さ(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
このメソッドは、IVideoWindow::get_Left、IVideoWindow::get_Top、IVideoWindow::get_Width、IVideoWindow::get_Height の各メソッドを呼び出すのと同じ効果があります。
GetMinIdealImageSize メソッドは、ビデオ画像の最小理想サイズを取得します。
| pWidth | INT* | out | 最小理想幅(ピクセル単位)を受け取ります。 |
| pHeight | INT* | out | 最小理想高さ(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 最小画像サイズを取得できませんでした。 | |
| 成功しました。 | |
| フィルターは停止しています。 |
解説(Remarks)
ビデオハードウェアには特定の引き伸ばし要件がある場合があるため、最大理想サイズはネイティブのビデオサイズと異なる場合があります。
このメソッドは、さまざまな状況で S_FALSE を返します。
- フィルターが IOverlay トランスポートを使用している。
- UseWhenFullScreen モードがオンになっている。(IDirectDrawVideo::UseWhenFullScreen を参照。)
- ビデオ再生が引き伸ばし可能なオフスクリーンサーフェスを使用している。(DDCAPS 構造体の dwCaps メンバーに DDCAPS_BLTSTRETCH フラグが含まれている。IDirectDrawVideo::GetCaps を参照。)
- ビデオサーフェスに最小オーバーレイ引き伸ばしがない。(DDCAPS 構造体の dwMinOverlayStretch メンバーが 0。IDirectDrawVideo::GetCaps を参照。)
GetMaxIdealImageSize メソッドは、ビデオ画像の最大理想画像サイズを取得します。
| pWidth | INT* | out | 最大理想幅(ピクセル単位)を受け取ります。 |
| pHeight | INT* | out | 最大理想高さ(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 最大画像サイズを取得できませんでした。 | |
| 成功しました。 | |
| フィルターは停止しています。 |
解説(Remarks)
ビデオハードウェアには特定の引き伸ばし要件がある場合があるため、最大理想サイズはネイティブのビデオサイズと異なる場合があります。
このメソッドは、さまざまな状況で S_FALSE を返します。
- フィルターが IOverlay トランスポートを使用している。
- UseWhenFullScreen モードがオンになっている。(IDirectDrawVideo::UseWhenFullScreen を参照。)
- ビデオサーフェスに最大オーバーレイ引き伸ばしがない。(DDCAPS 構造体の dwMaxOverlayStretch メンバーが 0。IDirectDrawVideo::GetCaps を参照。)
GetRestorePosition メソッドは、復元後のウィンドウ位置を取得します。
| pLeft | INT* | out | x 座標(ピクセル単位)を受け取ります。 |
| pTop | INT* | out | y 座標(ピクセル単位)を受け取ります。 |
| pWidth | INT* | out | ウィンドウの幅(ピクセル単位)を受け取ります。 |
| pHeight | INT* | out | ウィンドウの高さ(ピクセル単位)を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
解説(Remarks)
ビデオウィンドウが最小化または最大化されている場合、このメソッドを使用してウィンドウの復元後の位置を取得できます。
HideCursor メソッドは、マウスがビデオウィンドウ上に置かれたときにカーソルを表示または非表示にします。
| HideCursor | OA_BOOL | in | カーソルを表示するか非表示にするかを指定します。次のいずれかの値でなければなりません。
|
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| 無効な引数です。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
IsCursorHidden メソッドは、カーソルが非表示になっているかどうかを照会します。
| CursorHidden | INT* | out | カーソルが非表示の場合は OATRUE、表示されている場合は OAFALSE を受け取ります。 |
戻り値
戻り値には次のものがあります。
| 戻り値 | 説明 |
|---|---|
| NULL ポインター。 | |
| 成功しました。 | |
| ビデオレンダラーフィルターが接続されていません。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IVideoWindow "{56A868B4-0AD4-11CE-B03A-0020AF0BA770}" #usecom global IVideoWindow IID_IVideoWindow "{}" #comfunc global IVideoWindow_put_Caption 7 wstr #comfunc global IVideoWindow_get_Caption 8 var #comfunc global IVideoWindow_put_WindowStyle 9 int #comfunc global IVideoWindow_get_WindowStyle 10 var #comfunc global IVideoWindow_put_WindowStyleEx 11 int #comfunc global IVideoWindow_get_WindowStyleEx 12 var #comfunc global IVideoWindow_put_AutoShow 13 int #comfunc global IVideoWindow_get_AutoShow 14 var #comfunc global IVideoWindow_put_WindowState 15 int #comfunc global IVideoWindow_get_WindowState 16 var #comfunc global IVideoWindow_put_BackgroundPalette 17 int #comfunc global IVideoWindow_get_BackgroundPalette 18 var #comfunc global IVideoWindow_put_Visible 19 int #comfunc global IVideoWindow_get_Visible 20 var #comfunc global IVideoWindow_put_Left 21 int #comfunc global IVideoWindow_get_Left 22 var #comfunc global IVideoWindow_put_Width 23 int #comfunc global IVideoWindow_get_Width 24 var #comfunc global IVideoWindow_put_Top 25 int #comfunc global IVideoWindow_get_Top 26 var #comfunc global IVideoWindow_put_Height 27 int #comfunc global IVideoWindow_get_Height 28 var #comfunc global IVideoWindow_put_Owner 29 sptr #comfunc global IVideoWindow_get_Owner 30 var #comfunc global IVideoWindow_put_MessageDrain 31 sptr #comfunc global IVideoWindow_get_MessageDrain 32 var #comfunc global IVideoWindow_get_BorderColor 33 var #comfunc global IVideoWindow_put_BorderColor 34 int #comfunc global IVideoWindow_get_FullScreenMode 35 var #comfunc global IVideoWindow_put_FullScreenMode 36 int #comfunc global IVideoWindow_SetWindowForeground 37 int #comfunc global IVideoWindow_NotifyOwnerMessage 38 sptr,int,sptr,sptr #comfunc global IVideoWindow_SetWindowPosition 39 int,int,int,int #comfunc global IVideoWindow_GetWindowPosition 40 var,var,var,var #comfunc global IVideoWindow_GetMinIdealImageSize 41 var,var #comfunc global IVideoWindow_GetMaxIdealImageSize 42 var,var #comfunc global IVideoWindow_GetRestorePosition 43 var,var,var,var #comfunc global IVideoWindow_HideCursor 44 int #comfunc global IVideoWindow_IsCursorHidden 45 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IVideoWindow "{56A868B4-0AD4-11CE-B03A-0020AF0BA770}" #usecom global IVideoWindow IID_IVideoWindow "{}" #comfunc global IVideoWindow_put_Caption 7 wstr #comfunc global IVideoWindow_get_Caption 8 sptr #comfunc global IVideoWindow_put_WindowStyle 9 int #comfunc global IVideoWindow_get_WindowStyle 10 sptr #comfunc global IVideoWindow_put_WindowStyleEx 11 int #comfunc global IVideoWindow_get_WindowStyleEx 12 sptr #comfunc global IVideoWindow_put_AutoShow 13 int #comfunc global IVideoWindow_get_AutoShow 14 sptr #comfunc global IVideoWindow_put_WindowState 15 int #comfunc global IVideoWindow_get_WindowState 16 sptr #comfunc global IVideoWindow_put_BackgroundPalette 17 int #comfunc global IVideoWindow_get_BackgroundPalette 18 sptr #comfunc global IVideoWindow_put_Visible 19 int #comfunc global IVideoWindow_get_Visible 20 sptr #comfunc global IVideoWindow_put_Left 21 int #comfunc global IVideoWindow_get_Left 22 sptr #comfunc global IVideoWindow_put_Width 23 int #comfunc global IVideoWindow_get_Width 24 sptr #comfunc global IVideoWindow_put_Top 25 int #comfunc global IVideoWindow_get_Top 26 sptr #comfunc global IVideoWindow_put_Height 27 int #comfunc global IVideoWindow_get_Height 28 sptr #comfunc global IVideoWindow_put_Owner 29 sptr #comfunc global IVideoWindow_get_Owner 30 sptr #comfunc global IVideoWindow_put_MessageDrain 31 sptr #comfunc global IVideoWindow_get_MessageDrain 32 sptr #comfunc global IVideoWindow_get_BorderColor 33 sptr #comfunc global IVideoWindow_put_BorderColor 34 int #comfunc global IVideoWindow_get_FullScreenMode 35 sptr #comfunc global IVideoWindow_put_FullScreenMode 36 int #comfunc global IVideoWindow_SetWindowForeground 37 int #comfunc global IVideoWindow_NotifyOwnerMessage 38 sptr,int,sptr,sptr #comfunc global IVideoWindow_SetWindowPosition 39 int,int,int,int #comfunc global IVideoWindow_GetWindowPosition 40 sptr,sptr,sptr,sptr #comfunc global IVideoWindow_GetMinIdealImageSize 41 sptr,sptr #comfunc global IVideoWindow_GetMaxIdealImageSize 42 sptr,sptr #comfunc global IVideoWindow_GetRestorePosition 43 sptr,sptr,sptr,sptr #comfunc global IVideoWindow_HideCursor 44 int #comfunc global IVideoWindow_IsCursorHidden 45 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。