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

IMSVidVideoRenderer

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID37b03540-a4c8-11d2-b634-00c04f79498e継承元IMSVidOutputDevice呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl16

メソッド 30

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 16 HRESULT get_CustomCompositorClass(LPWSTR* CompositorCLSID)
CompositorCLSIDLPWSTR*outカスタムコンポジターのCLSIDを表す文字列を受け取る出力先。
vtbl 17 HRESULT put_CustomCompositorClass(LPWSTR CompositorCLSID)
CompositorCLSIDLPWSTRin使用するカスタムコンポジターのCLSIDを表す文字列。
vtbl 18 HRESULT get__CustomCompositorClass(GUID* CompositorCLSID)
CompositorCLSIDGUID*outカスタムコンポジターのCLSIDをGUIDで受け取る出力先。
vtbl 19 HRESULT put__CustomCompositorClass(GUID* CompositorCLSID)
CompositorCLSIDGUID*in使用するカスタムコンポジターのCLSIDを指すGUIDポインター。
vtbl 20 HRESULT get__CustomCompositor(IVMRImageCompositor** Compositor)
CompositorIVMRImageCompositor**out現在のカスタム画像コンポジター(IVMRImageCompositor)を受け取る出力先。
vtbl 21 HRESULT put__CustomCompositor(IVMRImageCompositor* Compositor)
CompositorIVMRImageCompositor*in使用するカスタム画像コンポジター(IVMRImageCompositor)オブジェクト。
vtbl 22 HRESULT get_MixerBitmap(IPictureDisp** MixerPictureDisp)
MixerPictureDispIPictureDisp**out現在のミキサー合成ビットマップをIPictureDispで受け取る出力先。
vtbl 23 HRESULT get__MixerBitmap(IVMRMixerBitmap** MixerPicture)
MixerPictureIVMRMixerBitmap**out現在のミキサービットマップ制御(IVMRMixerBitmap)を受け取る出力先。
vtbl 24 HRESULT put_MixerBitmap(IPictureDisp* MixerPictureDisp)
MixerPictureDispIPictureDisp*in映像に重畳するミキサービットマップをIPictureDispで指定する。
vtbl 25 HRESULT put__MixerBitmap(VMRALPHABITMAP* MixerPicture)
MixerPictureVMRALPHABITMAP*in映像に重畳するアルファ付きビットマップ情報(VMRALPHABITMAP)へのポインター。
vtbl 26 HRESULT get_MixerBitmapPositionRect(IMSVidRect** rDest)
rDestIMSVidRect**outミキサービットマップの表示先矩形(IMSVidRect)を受け取る出力先。
vtbl 27 HRESULT put_MixerBitmapPositionRect(IMSVidRect* rDest)
rDestIMSVidRect*inミキサービットマップの表示先矩形を指定するIMSVidRectオブジェクト。
vtbl 28 HRESULT get_MixerBitmapOpacity(INT* opacity)
opacityINT*outミキサービットマップの不透明度を受け取る出力先。0〜100の百分率。
vtbl 29 HRESULT put_MixerBitmapOpacity(INT opacity)
opacityINTinミキサービットマップの不透明度。0〜100の百分率で指定する。
vtbl 30 HRESULT SetupMixerBitmap(IPictureDisp* MixerPictureDisp, INT Opacity, IMSVidRect* rDest)
MixerPictureDispIPictureDisp*in重畳するビットマップをIPictureDispで指定する。
OpacityINTinビットマップの不透明度。0〜100の百分率で指定する。
rDestIMSVidRect*inビットマップの表示先矩形を指定するIMSVidRectオブジェクト。
vtbl 31 HRESULT get_SourceSize(SourceSizeList* CurrentSize)
CurrentSizeSourceSizeList*out現在のソース映像サイズ設定を受け取る出力先。SourceSizeList型。
vtbl 32 HRESULT put_SourceSize(SourceSizeList NewSize)
NewSizeSourceSizeListin設定するソース映像サイズ。SourceSizeList列挙値で指定する。
vtbl 33 HRESULT get_OverScan(INT* plPercent)
plPercentINT*out現在のオーバースキャン量を受け取る出力先。百分率で表す。
vtbl 34 HRESULT put_OverScan(INT lPercent)
lPercentINTin設定するオーバースキャン量。百分率で指定する。
vtbl 35 HRESULT get_AvailableSourceRect(IMSVidRect** pRect)
pRectIMSVidRect**out利用可能なソース映像の矩形領域(IMSVidRect)を受け取る出力先。
vtbl 36 HRESULT get_MaxVidRect(IMSVidRect** ppVidRect)
ppVidRectIMSVidRect**out表示可能な最大映像矩形(IMSVidRect)を受け取る出力先。
vtbl 37 HRESULT get_MinVidRect(IMSVidRect** ppVidRect)
ppVidRectIMSVidRect**out表示可能な最小映像矩形(IMSVidRect)を受け取る出力先。
vtbl 38 HRESULT get_ClippedSourceRect(IMSVidRect** pRect)
pRectIMSVidRect**out現在クリッピングされているソース映像矩形(IMSVidRect)を受け取る出力先。
vtbl 39 HRESULT put_ClippedSourceRect(IMSVidRect* pRect)
pRectIMSVidRect*inソース映像から切り出す矩形を指定するIMSVidRectオブジェクト。
vtbl 40 HRESULT get_UsingOverlay(VARIANT_BOOL* UseOverlayVal)
UseOverlayValVARIANT_BOOL*outオーバーレイ表示を使用しているかどうかを受け取る真偽値の出力先。
vtbl 41 HRESULT put_UsingOverlay(VARIANT_BOOL UseOverlayVal)
UseOverlayValVARIANT_BOOLinオーバーレイ表示を使用するかどうかを指定する真偽値。
vtbl 42 HRESULT Capture(IPictureDisp** currentImage)
currentImageIPictureDisp**out現在表示中の映像フレームを取り込んだ画像(IPictureDisp)を受け取る出力先。
vtbl 43 HRESULT get_FramesPerSecond(INT* pVal)
pValINT*out現在の映像フレームレート(毎秒フレーム数)を受け取る出力先。
vtbl 44 HRESULT get_DecimateInput(VARIANT_BOOL* pDeci)
pDeciVARIANT_BOOL*out入力映像を間引いているかどうかを受け取る真偽値の出力先。
vtbl 45 HRESULT put_DecimateInput(VARIANT_BOOL pDeci)
pDeciVARIANT_BOOLin入力映像を間引くかどうかを指定する真偽値。負荷軽減に用いる。

HSP用 COM定義

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

出力引数:
#define global IID_IMSVidVideoRenderer "{37B03540-A4C8-11D2-B634-00C04F79498E}"
#usecom global IMSVidVideoRenderer IID_IMSVidVideoRenderer "{37B03543-A4C8-11D2-B634-00C04F79498E}"
#comfunc global IMSVidVideoRenderer_get_CustomCompositorClass    16 var
#comfunc global IMSVidVideoRenderer_put_CustomCompositorClass    17 wstr
#comfunc global IMSVidVideoRenderer_get__CustomCompositorClass   18 var
#comfunc global IMSVidVideoRenderer_put__CustomCompositorClass   19 var
#comfunc global IMSVidVideoRenderer_get__CustomCompositor        20 sptr
#comfunc global IMSVidVideoRenderer_put__CustomCompositor        21 sptr
#comfunc global IMSVidVideoRenderer_get_MixerBitmap              22 sptr
#comfunc global IMSVidVideoRenderer_get__MixerBitmap             23 sptr
#comfunc global IMSVidVideoRenderer_put_MixerBitmap              24 sptr
#comfunc global IMSVidVideoRenderer_put__MixerBitmap             25 var
#comfunc global IMSVidVideoRenderer_get_MixerBitmapPositionRect  26 sptr
#comfunc global IMSVidVideoRenderer_put_MixerBitmapPositionRect  27 sptr
#comfunc global IMSVidVideoRenderer_get_MixerBitmapOpacity       28 var
#comfunc global IMSVidVideoRenderer_put_MixerBitmapOpacity       29 int
#comfunc global IMSVidVideoRenderer_SetupMixerBitmap             30 sptr,int,sptr
#comfunc global IMSVidVideoRenderer_get_SourceSize               31 var
#comfunc global IMSVidVideoRenderer_put_SourceSize               32 int
#comfunc global IMSVidVideoRenderer_get_OverScan                 33 var
#comfunc global IMSVidVideoRenderer_put_OverScan                 34 int
#comfunc global IMSVidVideoRenderer_get_AvailableSourceRect      35 sptr
#comfunc global IMSVidVideoRenderer_get_MaxVidRect               36 sptr
#comfunc global IMSVidVideoRenderer_get_MinVidRect               37 sptr
#comfunc global IMSVidVideoRenderer_get_ClippedSourceRect        38 sptr
#comfunc global IMSVidVideoRenderer_put_ClippedSourceRect        39 sptr
#comfunc global IMSVidVideoRenderer_get_UsingOverlay             40 var
#comfunc global IMSVidVideoRenderer_put_UsingOverlay             41 int
#comfunc global IMSVidVideoRenderer_Capture                      42 sptr
#comfunc global IMSVidVideoRenderer_get_FramesPerSecond          43 var
#comfunc global IMSVidVideoRenderer_get_DecimateInput            44 var
#comfunc global IMSVidVideoRenderer_put_DecimateInput            45 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。