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

IVMRMixerControl

COM
IID1c1a17b0-bed0-415d-974b-dc6696131599継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT SetAlpha(DWORD dwStreamID, FLOAT Alpha)
dwStreamIDDWORDin対象とする入力ストリームの番号(0起点)。
AlphaFLOATin合成時の不透明度。0.0(透明)〜1.0(不透明)で指定する。
vtbl 4 HRESULT GetAlpha(DWORD dwStreamID, FLOAT* pAlpha)
dwStreamIDDWORDin対象とする入力ストリームの番号。
pAlphaFLOAT*out現在の不透明度(0.0〜1.0)を受け取る出力先。
vtbl 5 HRESULT SetZOrder(DWORD dwStreamID, DWORD dwZ)
dwStreamIDDWORDin対象とする入力ストリームの番号。
dwZDWORDin重ね順を表すZ値。大きいほど前面に配置される。
vtbl 6 HRESULT GetZOrder(DWORD dwStreamID, DWORD* pZ)
dwStreamIDDWORDin対象とする入力ストリームの番号。
pZDWORD*out現在のZ値を受け取る出力先。
vtbl 7 HRESULT SetOutputRect(DWORD dwStreamID, NORMALIZEDRECT* pRect)
dwStreamIDDWORDin対象とする入力ストリームの番号。
pRectNORMALIZEDRECT*in出力先内の配置矩形を0.0〜1.0で正規化したNORMALIZEDRECT。
vtbl 8 HRESULT GetOutputRect(DWORD dwStreamID, NORMALIZEDRECT* pRect)
dwStreamIDDWORDin対象とする入力ストリームの番号。
pRectNORMALIZEDRECT*out現在の正規化配置矩形NORMALIZEDRECTを受け取る出力先。
vtbl 9 HRESULT SetBackgroundClr(COLORREF ClrBkg)
ClrBkgCOLORREFin合成背景色をCOLORREFで指定する。
vtbl 10 HRESULT GetBackgroundClr(COLORREF* lpClrBkg)
lpClrBkgCOLORREF*in現在の背景色をCOLORREFで受け取る出力先。
vtbl 11 HRESULT SetMixingPrefs(DWORD dwMixerPrefs)
dwMixerPrefsDWORDinミキシング動作を制御するVMRMixerPrefsフラグ(描画モードやフィルタ品質等)。
vtbl 12 HRESULT GetMixingPrefs(DWORD* pdwMixerPrefs)
pdwMixerPrefsDWORD*out現在のミキシング設定フラグを受け取る出力先。

HSP用 COM定義

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

出力引数:
#define global IID_IVMRMixerControl "{1C1A17B0-BED0-415D-974B-DC6696131599}"
#usecom global IVMRMixerControl IID_IVMRMixerControl "{}"
#comfunc global IVMRMixerControl_SetAlpha          3 int,float
#comfunc global IVMRMixerControl_GetAlpha          4 int,var
#comfunc global IVMRMixerControl_SetZOrder         5 int,int
#comfunc global IVMRMixerControl_GetZOrder         6 int,var
#comfunc global IVMRMixerControl_SetOutputRect     7 int,var
#comfunc global IVMRMixerControl_GetOutputRect     8 int,var
#comfunc global IVMRMixerControl_SetBackgroundClr  9 int
#comfunc global IVMRMixerControl_GetBackgroundClr  10 var
#comfunc global IVMRMixerControl_SetMixingPrefs    11 int
#comfunc global IVMRMixerControl_GetMixingPrefs    12 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。