Win32 API 日本語リファレンス
ホームMedia.DirectShow › IVPBaseConfig

IVPBaseConfig

COM
継承元IUnknown自前メソッド開始 vtbl3

メソッド 13

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetConnectInfo(DWORD* pdwNumConnectInfo, DDVIDEOPORTCONNECT* pddVPConnectInfo)
pdwNumConnectInfoDWORD*inout入力で配列サイズ、出力で接続情報エントリ数を受け取るDWORDへのポインタ。
pddVPConnectInfoDDVIDEOPORTCONNECT*outoptionalビデオポート接続情報を受け取るDDVIDEOPORTCONNECT配列へのポインタ。NULLで数量取得。
vtbl 4 HRESULT SetConnectInfo(DWORD dwChosenEntry)
dwChosenEntryDWORDin選択する接続情報エントリのインデックス。
vtbl 5 HRESULT GetVPDataInfo(AMVPDATAINFO* pamvpDataInfo)
pamvpDataInfoAMVPDATAINFO*inoutビデオポートのデータ情報を受け取るAMVPDATAINFOへのポインタ。
vtbl 6 HRESULT GetMaxPixelRate(AMVPSIZE* pamvpSize, DWORD* pdwMaxPixelsPerSecond)
pamvpSizeAMVPSIZE*inout問い合わせる出力サイズを指定するAMVPSIZEへのポインタ。
pdwMaxPixelsPerSecondDWORD*inoutそのサイズでの最大ピクセル毎秒レートを受け取るDWORDへのポインタ。
vtbl 7 HRESULT InformVPInputFormats(DWORD dwNumFormats, DDPIXELFORMAT* pDDPixelFormats)
dwNumFormatsDWORDinpDDPixelFormats配列に含まれる形式数。
pDDPixelFormatsDDPIXELFORMAT*inoutサポートする入力ピクセル形式を渡すDDPIXELFORMAT配列へのポインタ。
vtbl 8 HRESULT GetVideoFormats(DWORD* pdwNumFormats, DDPIXELFORMAT* pddPixelFormats)
pdwNumFormatsDWORD*inout入力で配列サイズ、出力で形式数を受け取るDWORDへのポインタ。
pddPixelFormatsDDPIXELFORMAT*outoptional利用可能な出力ピクセル形式を受け取るDDPIXELFORMAT配列へのポインタ。NULLで数量取得。
vtbl 9 HRESULT SetVideoFormat(DWORD dwChosenEntry)
dwChosenEntryDWORDin選択する出力ビデオ形式のインデックス。
vtbl 10 HRESULT SetInvertPolarity()
vtbl 11 HRESULT GetOverlaySurface(IDirectDrawSurface** ppddOverlaySurface)
ppddOverlaySurfaceIDirectDrawSurface**out使用中のオーバーレイサーフェスのIDirectDrawSurfaceを受け取る出力ポインタ。
vtbl 12 HRESULT SetDirectDrawKernelHandle(UINT_PTR dwDDKernelHandle)
dwDDKernelHandleUINT_PTRinDirectDrawオブジェクトのカーネルハンドル。UINT_PTR型。
vtbl 13 HRESULT SetVideoPortID(DWORD dwVideoPortID)
dwVideoPortIDDWORDin使用するビデオポートを識別するID。
vtbl 14 HRESULT SetDDSurfaceKernelHandles(DWORD cHandles, UINT_PTR* rgDDKernelHandles)
cHandlesDWORDinrgDDKernelHandles配列に含まれるハンドル数。
rgDDKernelHandlesUINT_PTR*inoutサーフェスのカーネルハンドル配列へのポインタ。UINT_PTR配列。
vtbl 15 HRESULT SetSurfaceParameters(DWORD dwPitch, DWORD dwXOrigin, DWORD dwYOrigin)
dwPitchDWORDinサーフェス1行あたりのバイト数(ピッチ)。
dwXOriginDWORDinサーフェス内有効領域のX原点座標。
dwYOriginDWORDinサーフェス内有効領域のY原点座標。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IVPBaseConfig "{}"
#usecom global IVPBaseConfig IID_IVPBaseConfig "{}"
#comfunc global IVPBaseConfig_GetConnectInfo             3 var,var
#comfunc global IVPBaseConfig_SetConnectInfo             4 int
#comfunc global IVPBaseConfig_GetVPDataInfo              5 var
#comfunc global IVPBaseConfig_GetMaxPixelRate            6 var,var
#comfunc global IVPBaseConfig_InformVPInputFormats       7 int,var
#comfunc global IVPBaseConfig_GetVideoFormats            8 var,var
#comfunc global IVPBaseConfig_SetVideoFormat             9 int
#comfunc global IVPBaseConfig_SetInvertPolarity          10
#comfunc global IVPBaseConfig_GetOverlaySurface          11 sptr
#comfunc global IVPBaseConfig_SetDirectDrawKernelHandle  12 sptr
#comfunc global IVPBaseConfig_SetVideoPortID             13 int
#comfunc global IVPBaseConfig_SetDDSurfaceKernelHandles  14 int,var
#comfunc global IVPBaseConfig_SetSurfaceParameters       15 int,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。