ホーム › Graphics.DirectDraw › IDirectDrawVideoPort
IDirectDrawVideoPort
COMメソッド 14
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Flip(IDirectDrawSurface* param0, DWORD param1)
| param0 | IDirectDrawSurface* | in | 次に表示するビデオデータの転送先サーフェスのポインタ。NULL可。 |
| param1 | DWORD | in | DDVPFLIP_ 系フラグ(対象がビデオ/VBIか)を指定する。 |
vtbl 4 HRESULT GetBandwidthInfo(DDPIXELFORMAT* param0, DWORD param1, DWORD param2, DWORD param3, DDVIDEOPORTBANDWIDTH* param4)
| param0 | DDPIXELFORMAT* | inout | 帯域算定の基準となるピクセルフォーマットを格納した DDPIXELFORMAT 構造体ポインタ。 |
| param1 | DWORD | in | 出力幅(ピクセル単位)を指定する。 |
| param2 | DWORD | in | 出力高さ(ピクセル単位)を指定する。 |
| param3 | DWORD | in | 帯域問い合わせ方法を示す DDVPB_ 系フラグを指定する。 |
| param4 | DDVIDEOPORTBANDWIDTH* | inout | 算出された必要帯域情報を受け取る DDVIDEOPORTBANDWIDTH 構造体ポインタ。 |
vtbl 5 HRESULT GetColorControls(DDCOLORCONTROL* param0)
| param0 | DDCOLORCONTROL* | inout | ビデオポートの現在のカラー制御値を受け取る DDCOLORCONTROL 構造体ポインタ。 |
vtbl 6 HRESULT GetInputFormats(DWORD* lpNumFormats, DDPIXELFORMAT* param1, DWORD param2)
| lpNumFormats | DWORD* | inout | 入力で配列要素数、出力でサポート入力形式数を受け渡すDWORDポインタ。 |
| param1 | DDPIXELFORMAT* | outoptional | サポートされる入力ピクセルフォーマットを受け取る配列の先頭ポインタ。件数取得時はNULL可。 |
| param2 | DWORD | in | 取得対象を限定する DDVPFORMAT_ 系フラグを指定する。 |
vtbl 7 HRESULT GetOutputFormats(DDPIXELFORMAT* param0, DWORD* lpNumFormats, DDPIXELFORMAT* param2, DWORD param3)
| param0 | DDPIXELFORMAT* | inout | 出力形式を問い合わせる基準入力フォーマットを格納した DDPIXELFORMAT 構造体ポインタ。 |
| lpNumFormats | DWORD* | inout | 入力で配列要素数、出力でサポート出力形式数を受け渡すDWORDポインタ。 |
| param2 | DDPIXELFORMAT* | outoptional | サポートされる出力ピクセルフォーマットを受け取る配列の先頭ポインタ。件数取得時はNULL可。 |
| param3 | DWORD | in | 取得対象を限定する DDVPFORMAT_ 系フラグを指定する。 |
| param0 | BOOL* | inout | 現在のフィールド極性(偶数/奇数)を受け取るBOOL出力ポインタ。 |
| param0 | DWORD* | inout | 現在転送中のビデオ走査線番号を受け取る出力ポインタ。 |
| param0 | DWORD* | inout | ビデオ信号の有無を示す状態値を受け取る出力ポインタ。 |
vtbl 11 HRESULT SetColorControls(DDCOLORCONTROL* param0)
| param0 | DDCOLORCONTROL* | inout | 設定するビデオポートのカラー制御値を格納した DDCOLORCONTROL 構造体ポインタ。 |
vtbl 12 HRESULT SetTargetSurface(IDirectDrawSurface* param0, DWORD param1)
| param0 | IDirectDrawSurface* | in | ビデオデータの書き込み先となるサーフェスのポインタ。NULLで解除する。 |
| param1 | DWORD | in | 対象サーフェス指定方法を示す DDVPTARGET_ 系フラグを指定する。 |
vtbl 13 HRESULT StartVideo(DDVIDEOPORTINFO* param0)
| param0 | DDVIDEOPORTINFO* | inout | ビデオ転送開始時の入出力設定を格納した DDVIDEOPORTINFO 構造体ポインタ。 |
vtbl 14 HRESULT StopVideo()
vtbl 15 HRESULT UpdateVideo(DDVIDEOPORTINFO* param0)
| param0 | DDVIDEOPORTINFO* | inout | 実行中ビデオ転送の更新設定を格納した DDVIDEOPORTINFO 構造体ポインタ。 |
| param0 | DWORD | in | 待機種別を示す DDVPWAIT_ 系フラグ(同期開始/終了/走査線)を指定する。 |
| param1 | DWORD | in | 走査線指定待機時の対象走査線番号を指定する。 |
| param2 | DWORD | in | 予約済みで0を指定するタイムアウト関連値。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirectDrawVideoPort "{B36D93E0-2B43-11CF-A2DE-00AA00B93356}" #usecom global IDirectDrawVideoPort IID_IDirectDrawVideoPort "{}" #comfunc global IDirectDrawVideoPort_Flip 3 sptr,int #comfunc global IDirectDrawVideoPort_GetBandwidthInfo 4 var,int,int,int,var #comfunc global IDirectDrawVideoPort_GetColorControls 5 var #comfunc global IDirectDrawVideoPort_GetInputFormats 6 var,var,int #comfunc global IDirectDrawVideoPort_GetOutputFormats 7 var,var,var,int #comfunc global IDirectDrawVideoPort_GetFieldPolarity 8 var #comfunc global IDirectDrawVideoPort_GetVideoLine 9 var #comfunc global IDirectDrawVideoPort_GetVideoSignalStatus 10 var #comfunc global IDirectDrawVideoPort_SetColorControls 11 var #comfunc global IDirectDrawVideoPort_SetTargetSurface 12 sptr,int #comfunc global IDirectDrawVideoPort_StartVideo 13 var #comfunc global IDirectDrawVideoPort_StopVideo 14 #comfunc global IDirectDrawVideoPort_UpdateVideo 15 var #comfunc global IDirectDrawVideoPort_WaitForSync 16 int,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDirectDrawVideoPort "{B36D93E0-2B43-11CF-A2DE-00AA00B93356}" #usecom global IDirectDrawVideoPort IID_IDirectDrawVideoPort "{}" #comfunc global IDirectDrawVideoPort_Flip 3 sptr,int #comfunc global IDirectDrawVideoPort_GetBandwidthInfo 4 sptr,int,int,int,sptr #comfunc global IDirectDrawVideoPort_GetColorControls 5 sptr #comfunc global IDirectDrawVideoPort_GetInputFormats 6 sptr,sptr,int #comfunc global IDirectDrawVideoPort_GetOutputFormats 7 sptr,sptr,sptr,int #comfunc global IDirectDrawVideoPort_GetFieldPolarity 8 sptr #comfunc global IDirectDrawVideoPort_GetVideoLine 9 sptr #comfunc global IDirectDrawVideoPort_GetVideoSignalStatus 10 sptr #comfunc global IDirectDrawVideoPort_SetColorControls 11 sptr #comfunc global IDirectDrawVideoPort_SetTargetSurface 12 sptr,int #comfunc global IDirectDrawVideoPort_StartVideo 13 sptr #comfunc global IDirectDrawVideoPort_StopVideo 14 #comfunc global IDirectDrawVideoPort_UpdateVideo 15 sptr #comfunc global IDirectDrawVideoPort_WaitForSync 16 int,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。