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

IMediaParamInfo

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

メソッド 6

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

vtbl 3 HRESULT GetParamCount(DWORD* pdwParams)
pdwParamsDWORD*outオブジェクトが公開するパラメータの総数を受け取るDWORDへのポインタ。
vtbl 4 HRESULT GetParamInfo(DWORD dwParamIndex, MP_PARAMINFO* pInfo)
dwParamIndexDWORDin情報を取得するパラメータの0起点インデックス。
pInfoMP_PARAMINFO*outパラメータの型・範囲・既定値などを受け取るMP_PARAMINFOへのポインタ。
vtbl 5 HRESULT GetParamText(DWORD dwParamIndex, WORD** ppwchText)
dwParamIndexDWORDinテキストを取得するパラメータの0起点インデックス。
ppwchTextWORD**outパラメータ名や単位などのNUL区切り文字列を受け取るWORD(WCHAR)ポインタへの出力ポインタ。
vtbl 6 HRESULT GetNumTimeFormats(DWORD* pdwNumTimeFormats)
pdwNumTimeFormatsDWORD*outサポートする時間形式の数を受け取るDWORDへのポインタ。
vtbl 7 HRESULT GetSupportedTimeFormat(DWORD dwFormatIndex, GUID* pguidTimeFormat)
dwFormatIndexDWORDin取得する時間形式の0起点インデックス。
pguidTimeFormatGUID*outその時間形式を示すGUIDを受け取るポインタ。
vtbl 8 HRESULT GetCurrentTimeFormat(GUID* pguidTimeFormat, DWORD* pTimeData)
pguidTimeFormatGUID*out現在の時間形式を示すGUIDを受け取るポインタ。
pTimeDataDWORD*out現在の時間形式に付随する追加データを受け取るDWORDへのポインタ。

HSP用 COM定義

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

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