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

IVMRMixerControl9

COM
IID1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b継承元IUnknown自前メソッド開始 vtbl3

メソッド 13

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

vtbl 3 HRESULT SetAlpha(DWORD dwStreamID, FLOAT Alpha)
dwStreamIDDWORDin対象とする入力ストリームの0起点ID。
AlphaFLOATinストリーム全体のアルファ値。0.0(透明)〜1.0(不透明)のFLOAT。
vtbl 4 HRESULT GetAlpha(DWORD dwStreamID, FLOAT* pAlpha)
dwStreamIDDWORDin対象とする入力ストリームのID。
pAlphaFLOAT*out現在のアルファ値を受け取るFLOATへのポインタ。
vtbl 5 HRESULT SetZOrder(DWORD dwStreamID, DWORD dwZ)
dwStreamIDDWORDin対象とする入力ストリームのID。
dwZDWORDin重ね合わせ順を表すZ順序値。値が小さいほど背面に描画される。
vtbl 6 HRESULT GetZOrder(DWORD dwStreamID, DWORD* pZ)
dwStreamIDDWORDin対象とする入力ストリームのID。
pZDWORD*out現在のZ順序値を受け取るDWORDへのポインタ。
vtbl 7 HRESULT SetOutputRect(DWORD dwStreamID, VMR9NormalizedRect* pRect)
dwStreamIDDWORDin対象とする入力ストリームのID。
pRectVMR9NormalizedRect*in合成先での出力矩形を0.0〜1.0の正規化座標で指定するVMR9NormalizedRectへのポインタ。
vtbl 8 HRESULT GetOutputRect(DWORD dwStreamID, VMR9NormalizedRect* pRect)
dwStreamIDDWORDin対象とする入力ストリームのID。
pRectVMR9NormalizedRect*out現在の正規化出力矩形を受け取るVMR9NormalizedRectへのポインタ。
vtbl 9 HRESULT SetBackgroundClr(COLORREF ClrBkg)
ClrBkgCOLORREFin合成背景色をCOLORREF(RGB)で指定する。
vtbl 10 HRESULT GetBackgroundClr(COLORREF* lpClrBkg)
lpClrBkgCOLORREF*in現在の背景色をCOLORREFで受け取るポインタ。
vtbl 11 HRESULT SetMixingPrefs(DWORD dwMixerPrefs)
dwMixerPrefsDWORDinミキシング動作を指定するVMR9MixerPrefsフラグの組み合わせ。
vtbl 12 HRESULT GetMixingPrefs(DWORD* pdwMixerPrefs)
pdwMixerPrefsDWORD*out現在のミキシング設定フラグを受け取るDWORDへのポインタ。
vtbl 13 HRESULT SetProcAmpControl(DWORD dwStreamID, VMR9ProcAmpControl* lpClrControl)
dwStreamIDDWORDin対象とする入力ストリームのID。
lpClrControlVMR9ProcAmpControl*in明るさ・コントラスト・色相・彩度を設定するVMR9ProcAmpControlへのポインタ。
vtbl 14 HRESULT GetProcAmpControl(DWORD dwStreamID, VMR9ProcAmpControl* lpClrControl)
dwStreamIDDWORDin対象とする入力ストリームのID。
lpClrControlVMR9ProcAmpControl*inout現在のProcAmp設定を受け取るVMR9ProcAmpControlへのポインタ。
vtbl 15 HRESULT GetProcAmpControlRange(DWORD dwStreamID, VMR9ProcAmpControlRange* lpClrControl)
dwStreamIDDWORDin対象とする入力ストリームのID。
lpClrControlVMR9ProcAmpControlRange*inout各ProcAmp項目の設定可能な範囲・既定値・増分を受け取るVMR9ProcAmpControlRangeへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IVMRMixerControl9 "{1A777EAA-47C8-4930-B2C9-8FEE1C1B0F3B}"
#usecom global IVMRMixerControl9 IID_IVMRMixerControl9 "{}"
#comfunc global IVMRMixerControl9_SetAlpha                3 int,float
#comfunc global IVMRMixerControl9_GetAlpha                4 int,var
#comfunc global IVMRMixerControl9_SetZOrder               5 int,int
#comfunc global IVMRMixerControl9_GetZOrder               6 int,var
#comfunc global IVMRMixerControl9_SetOutputRect           7 int,var
#comfunc global IVMRMixerControl9_GetOutputRect           8 int,var
#comfunc global IVMRMixerControl9_SetBackgroundClr        9 int
#comfunc global IVMRMixerControl9_GetBackgroundClr        10 var
#comfunc global IVMRMixerControl9_SetMixingPrefs          11 int
#comfunc global IVMRMixerControl9_GetMixingPrefs          12 var
#comfunc global IVMRMixerControl9_SetProcAmpControl       13 int,var
#comfunc global IVMRMixerControl9_GetProcAmpControl       14 int,var
#comfunc global IVMRMixerControl9_GetProcAmpControlRange  15 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。