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

IMediaParams

COM
IID6d6cbb61-a223-44aa-842f-a2f06750be6e継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT GetParam(DWORD dwParamIndex, FLOAT* pValue)
dwParamIndexDWORDin値を取得するパラメータの0起点インデックス。
pValueFLOAT*out現在のパラメータ値を受け取るFLOATへのポインタ。
vtbl 4 HRESULT SetParam(DWORD dwParamIndex, FLOAT value)
dwParamIndexDWORDin値を設定するパラメータの0起点インデックス。
valueFLOATin設定するパラメータ値(FLOAT)。
vtbl 5 HRESULT AddEnvelope(DWORD dwParamIndex, DWORD cSegments, MP_ENVELOPE_SEGMENT* pEnvelopeSegments)
dwParamIndexDWORDinエンベロープを適用するパラメータの0起点インデックス。
cSegmentsDWORDinpEnvelopeSegments配列に含まれるセグメント数。
pEnvelopeSegmentsMP_ENVELOPE_SEGMENT*in時間経過に伴う値変化を定義するMP_ENVELOPE_SEGMENT配列へのポインタ。
vtbl 6 HRESULT FlushEnvelope(DWORD dwParamIndex, LONGLONG refTimeStart, LONGLONG refTimeEnd)
dwParamIndexDWORDin対象パラメータの0起点インデックス。
refTimeStartLONGLONGinフラッシュ範囲の開始基準時刻(100ナノ秒単位)。
refTimeEndLONGLONGinフラッシュ範囲の終了基準時刻(100ナノ秒単位)。
vtbl 7 HRESULT SetTimeFormat(GUID guidTimeFormat, DWORD mpTimeData)
guidTimeFormatGUIDinエンベロープ時刻の解釈に使う時間形式を示すGUID。
mpTimeDataDWORDin時間形式に付随する追加データ(DWORD)。

HSP用 COM定義

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

出力引数:
#define global IID_IMediaParams "{6D6CBB61-A223-44AA-842F-A2F06750BE6E}"
#usecom global IMediaParams IID_IMediaParams "{}"
#comfunc global IMediaParams_GetParam       3 int,var
#comfunc global IMediaParams_SetParam       4 int,float
#comfunc global IMediaParams_AddEnvelope    5 int,int,var
#comfunc global IMediaParams_FlushEnvelope  6 int,int64,int64
#comfunc global IMediaParams_SetTimeFormat  7 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。