ホーム › Media.DirectShow.Tv › IMSVidCtl
IMSVidCtl
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 43
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT get_AutoSize(VARIANT_BOOL* pbool)
| pbool | VARIANT_BOOL* | out | コントロールが内容に合わせ自動サイズ調整するかを受け取る真偽値の出力先。 |
vtbl 8 HRESULT put_AutoSize(VARIANT_BOOL vbool)
| vbool | VARIANT_BOOL | in | コントロールの自動サイズ調整の有効/無効を指定する真偽値。 |
| backcolor | DWORD* | out | 現在の背景色をRGB値で受け取る出力先。 |
| backcolor | DWORD | in | 設定する背景色。RGB値で指定する。 |
vtbl 11 HRESULT get_Enabled(VARIANT_BOOL* pbool)
| pbool | VARIANT_BOOL* | out | コントロールが有効かどうかを受け取る真偽値の出力先。 |
vtbl 12 HRESULT put_Enabled(VARIANT_BOOL vbool)
| vbool | VARIANT_BOOL | in | コントロールの有効/無効を指定する真偽値。 |
vtbl 13 HRESULT get_TabStop(VARIANT_BOOL* pbool)
| pbool | VARIANT_BOOL* | out | コントロールがタブ移動の対象となるかを受け取る真偽値の出力先。 |
vtbl 14 HRESULT put_TabStop(VARIANT_BOOL vbool)
| vbool | VARIANT_BOOL | in | コントロールをタブ移動の対象とするかを指定する真偽値。 |
| phwnd | HWND* | out | コントロールのウィンドウハンドル(HWND)を受け取る出力先。 |
vtbl 16 HRESULT Refresh()
vtbl 17 HRESULT get_DisplaySize(DisplaySizeList* CurrentValue)
| CurrentValue | DisplaySizeList* | out | 現在の表示サイズ設定を受け取る出力先。DisplaySizeList型。 |
vtbl 18 HRESULT put_DisplaySize(DisplaySizeList NewValue)
| NewValue | DisplaySizeList | in | 設定する表示サイズ。DisplaySizeList列挙値で指定する。 |
vtbl 19 HRESULT get_MaintainAspectRatio(VARIANT_BOOL* CurrentValue)
| CurrentValue | VARIANT_BOOL* | out | 縦横比を維持するかどうかを受け取る真偽値の出力先。 |
vtbl 20 HRESULT put_MaintainAspectRatio(VARIANT_BOOL NewValue)
| NewValue | VARIANT_BOOL | in | 映像の縦横比を維持するかどうかを指定する真偽値。 |
| CurrentValue | DWORD* | out | オーバーレイ用のカラーキー値を受け取る出力先。RGB値で表す。 |
| NewValue | DWORD | in | オーバーレイ用に設定するカラーキー値。RGB値で指定する。 |
vtbl 23 HRESULT get_InputsAvailable(LPWSTR CategoryGuid, IMSVidInputDevices** pVal)
| CategoryGuid | LPWSTR | in | 列挙対象のデバイスカテゴリーGUIDを表す文字列。 |
| pVal | IMSVidInputDevices** | out | そのカテゴリーで利用可能な入力デバイス群(IMSVidInputDevices)を受け取る出力先。 |
vtbl 24 HRESULT get_OutputsAvailable(LPWSTR CategoryGuid, IMSVidOutputDevices** pVal)
| CategoryGuid | LPWSTR | in | 列挙対象のデバイスカテゴリーGUIDを表す文字列。 |
| pVal | IMSVidOutputDevices** | out | そのカテゴリーで利用可能な出力デバイス群(IMSVidOutputDevices)を受け取る出力先。 |
vtbl 25 HRESULT get__InputsAvailable(GUID* CategoryGuid, IMSVidInputDevices** pVal)
| CategoryGuid | GUID* | in | 列挙対象のデバイスカテゴリーをGUIDポインターで指定する。 |
| pVal | IMSVidInputDevices** | out | そのカテゴリーで利用可能な入力デバイス群(IMSVidInputDevices)を受け取る出力先。 |
vtbl 26 HRESULT get__OutputsAvailable(GUID* CategoryGuid, IMSVidOutputDevices** pVal)
| CategoryGuid | GUID* | in | 列挙対象のデバイスカテゴリーをGUIDポインターで指定する。 |
| pVal | IMSVidOutputDevices** | out | そのカテゴリーで利用可能な出力デバイス群(IMSVidOutputDevices)を受け取る出力先。 |
vtbl 27 HRESULT get_VideoRenderersAvailable(IMSVidVideoRendererDevices** pVal)
| pVal | IMSVidVideoRendererDevices** | out | 利用可能なビデオレンダラー群(IMSVidVideoRendererDevices)を受け取る出力先。 |
vtbl 28 HRESULT get_AudioRenderersAvailable(IMSVidAudioRendererDevices** pVal)
| pVal | IMSVidAudioRendererDevices** | out | 利用可能なオーディオレンダラー群(IMSVidAudioRendererDevices)を受け取る出力先。 |
vtbl 29 HRESULT get_FeaturesAvailable(IMSVidFeatures** pVal)
| pVal | IMSVidFeatures** | out | 利用可能な機能群(IMSVidFeatures)を受け取る出力先。 |
vtbl 30 HRESULT get_InputActive(IMSVidInputDevice** pVal)
| pVal | IMSVidInputDevice** | out | 現在アクティブな入力デバイス(IMSVidInputDevice)を受け取る出力先。 |
vtbl 31 HRESULT put_InputActive(IMSVidInputDevice* pVal)
| pVal | IMSVidInputDevice* | in | アクティブにする入力デバイス(IMSVidInputDevice)オブジェクト。 |
vtbl 32 HRESULT get_OutputsActive(IMSVidOutputDevices** pVal)
| pVal | IMSVidOutputDevices** | out | 現在アクティブな出力デバイス群(IMSVidOutputDevices)を受け取る出力先。 |
vtbl 33 HRESULT put_OutputsActive(IMSVidOutputDevices* pVal)
| pVal | IMSVidOutputDevices* | in | アクティブにする出力デバイス群(IMSVidOutputDevices)オブジェクト。 |
vtbl 34 HRESULT get_VideoRendererActive(IMSVidVideoRenderer** pVal)
| pVal | IMSVidVideoRenderer** | out | 現在アクティブなビデオレンダラー(IMSVidVideoRenderer)を受け取る出力先。 |
vtbl 35 HRESULT put_VideoRendererActive(IMSVidVideoRenderer* pVal)
| pVal | IMSVidVideoRenderer* | in | アクティブにするビデオレンダラー(IMSVidVideoRenderer)オブジェクト。 |
vtbl 36 HRESULT get_AudioRendererActive(IMSVidAudioRenderer** pVal)
| pVal | IMSVidAudioRenderer** | out | 現在アクティブなオーディオレンダラー(IMSVidAudioRenderer)を受け取る出力先。 |
vtbl 37 HRESULT put_AudioRendererActive(IMSVidAudioRenderer* pVal)
| pVal | IMSVidAudioRenderer* | in | アクティブにするオーディオレンダラー(IMSVidAudioRenderer)オブジェクト。 |
vtbl 38 HRESULT get_FeaturesActive(IMSVidFeatures** pVal)
| pVal | IMSVidFeatures** | out | 現在アクティブな機能群(IMSVidFeatures)を受け取る出力先。 |
vtbl 39 HRESULT put_FeaturesActive(IMSVidFeatures* pVal)
| pVal | IMSVidFeatures* | in | アクティブにする機能群(IMSVidFeatures)オブジェクト。 |
vtbl 40 HRESULT get_State(MSVidCtlStateList* lState)
| lState | MSVidCtlStateList* | out | コントロールの現在の状態を受け取る出力先。MSVidCtlStateList型。 |
| v | VARIANT* | in | 表示するソースを指定/取得するVARIANTへのポインター。デバイスやファイル等を指す。 |
vtbl 42 HRESULT Build()
vtbl 43 HRESULT Pause()
vtbl 44 HRESULT Run()
vtbl 45 HRESULT Stop()
vtbl 46 HRESULT Decompose()
vtbl 47 HRESULT DisableVideo()
vtbl 48 HRESULT DisableAudio()
| v | VARIANT* | in | 次に表示するソースを指定/取得するVARIANTへのポインター。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMSVidCtl "{B0EDF162-910A-11D2-B632-00C04F79498E}" #usecom global IMSVidCtl IID_IMSVidCtl "{B0EDF163-910A-11D2-B632-00C04F79498E}" #comfunc global IMSVidCtl_get_AutoSize 7 var #comfunc global IMSVidCtl_put_AutoSize 8 int #comfunc global IMSVidCtl_get_BackColor 9 var #comfunc global IMSVidCtl_put_BackColor 10 int #comfunc global IMSVidCtl_get_Enabled 11 var #comfunc global IMSVidCtl_put_Enabled 12 int #comfunc global IMSVidCtl_get_TabStop 13 var #comfunc global IMSVidCtl_put_TabStop 14 int #comfunc global IMSVidCtl_get_Window 15 sptr #comfunc global IMSVidCtl_Refresh 16 #comfunc global IMSVidCtl_get_DisplaySize 17 var #comfunc global IMSVidCtl_put_DisplaySize 18 int #comfunc global IMSVidCtl_get_MaintainAspectRatio 19 var #comfunc global IMSVidCtl_put_MaintainAspectRatio 20 int #comfunc global IMSVidCtl_get_ColorKey 21 var #comfunc global IMSVidCtl_put_ColorKey 22 int #comfunc global IMSVidCtl_get_InputsAvailable 23 wstr,sptr #comfunc global IMSVidCtl_get_OutputsAvailable 24 wstr,sptr #comfunc global IMSVidCtl_get__InputsAvailable 25 var,sptr #comfunc global IMSVidCtl_get__OutputsAvailable 26 var,sptr #comfunc global IMSVidCtl_get_VideoRenderersAvailable 27 sptr #comfunc global IMSVidCtl_get_AudioRenderersAvailable 28 sptr #comfunc global IMSVidCtl_get_FeaturesAvailable 29 sptr #comfunc global IMSVidCtl_get_InputActive 30 sptr #comfunc global IMSVidCtl_put_InputActive 31 sptr #comfunc global IMSVidCtl_get_OutputsActive 32 sptr #comfunc global IMSVidCtl_put_OutputsActive 33 sptr #comfunc global IMSVidCtl_get_VideoRendererActive 34 sptr #comfunc global IMSVidCtl_put_VideoRendererActive 35 sptr #comfunc global IMSVidCtl_get_AudioRendererActive 36 sptr #comfunc global IMSVidCtl_put_AudioRendererActive 37 sptr #comfunc global IMSVidCtl_get_FeaturesActive 38 sptr #comfunc global IMSVidCtl_put_FeaturesActive 39 sptr #comfunc global IMSVidCtl_get_State 40 var #comfunc global IMSVidCtl_View 41 var #comfunc global IMSVidCtl_Build 42 #comfunc global IMSVidCtl_Pause 43 #comfunc global IMSVidCtl_Run 44 #comfunc global IMSVidCtl_Stop 45 #comfunc global IMSVidCtl_Decompose 46 #comfunc global IMSVidCtl_DisableVideo 47 #comfunc global IMSVidCtl_DisableAudio 48 #comfunc global IMSVidCtl_ViewNext 49 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IMSVidCtl "{B0EDF162-910A-11D2-B632-00C04F79498E}" #usecom global IMSVidCtl IID_IMSVidCtl "{B0EDF163-910A-11D2-B632-00C04F79498E}" #comfunc global IMSVidCtl_get_AutoSize 7 sptr #comfunc global IMSVidCtl_put_AutoSize 8 int #comfunc global IMSVidCtl_get_BackColor 9 sptr #comfunc global IMSVidCtl_put_BackColor 10 int #comfunc global IMSVidCtl_get_Enabled 11 sptr #comfunc global IMSVidCtl_put_Enabled 12 int #comfunc global IMSVidCtl_get_TabStop 13 sptr #comfunc global IMSVidCtl_put_TabStop 14 int #comfunc global IMSVidCtl_get_Window 15 sptr #comfunc global IMSVidCtl_Refresh 16 #comfunc global IMSVidCtl_get_DisplaySize 17 sptr #comfunc global IMSVidCtl_put_DisplaySize 18 int #comfunc global IMSVidCtl_get_MaintainAspectRatio 19 sptr #comfunc global IMSVidCtl_put_MaintainAspectRatio 20 int #comfunc global IMSVidCtl_get_ColorKey 21 sptr #comfunc global IMSVidCtl_put_ColorKey 22 int #comfunc global IMSVidCtl_get_InputsAvailable 23 wstr,sptr #comfunc global IMSVidCtl_get_OutputsAvailable 24 wstr,sptr #comfunc global IMSVidCtl_get__InputsAvailable 25 sptr,sptr #comfunc global IMSVidCtl_get__OutputsAvailable 26 sptr,sptr #comfunc global IMSVidCtl_get_VideoRenderersAvailable 27 sptr #comfunc global IMSVidCtl_get_AudioRenderersAvailable 28 sptr #comfunc global IMSVidCtl_get_FeaturesAvailable 29 sptr #comfunc global IMSVidCtl_get_InputActive 30 sptr #comfunc global IMSVidCtl_put_InputActive 31 sptr #comfunc global IMSVidCtl_get_OutputsActive 32 sptr #comfunc global IMSVidCtl_put_OutputsActive 33 sptr #comfunc global IMSVidCtl_get_VideoRendererActive 34 sptr #comfunc global IMSVidCtl_put_VideoRendererActive 35 sptr #comfunc global IMSVidCtl_get_AudioRendererActive 36 sptr #comfunc global IMSVidCtl_put_AudioRendererActive 37 sptr #comfunc global IMSVidCtl_get_FeaturesActive 38 sptr #comfunc global IMSVidCtl_put_FeaturesActive 39 sptr #comfunc global IMSVidCtl_get_State 40 sptr #comfunc global IMSVidCtl_View 41 sptr #comfunc global IMSVidCtl_Build 42 #comfunc global IMSVidCtl_Pause 43 #comfunc global IMSVidCtl_Run 44 #comfunc global IMSVidCtl_Stop 45 #comfunc global IMSVidCtl_Decompose 46 #comfunc global IMSVidCtl_DisableVideo 47 #comfunc global IMSVidCtl_DisableAudio 48 #comfunc global IMSVidCtl_ViewNext 49 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。