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

IWMCodecInfo2

COM
IIDaa65e273-b686-4056-91ec-dd768d4df710継承元IWMCodecInfo自前メソッド開始 vtbl6

メソッド 2

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

vtbl 6 HRESULT GetCodecName(GUID* guidType, DWORD dwCodecIndex, LPWSTR wszName, DWORD* pcchName)
guidTypeGUID*in対象メディア種別を示すGUIDへのポインタである。
dwCodecIndexDWORDin対象コーデックの0始まりのインデックスである。
wszNameLPWSTRoutコーデック名を受け取る文字列バッファである。NULLでサイズ問い合わせ可能である。
pcchNameDWORD*inoutバッファ文字数を入力し必要文字数を受け取る入出力ポインタである。
vtbl 7 HRESULT GetCodecFormatDesc(GUID* guidType, DWORD dwCodecIndex, DWORD dwFormatIndex, IWMStreamConfig** ppIStreamConfig, LPWSTR wszDesc, DWORD* pcchDesc)
guidTypeGUID*in対象メディア種別を示すGUIDへのポインタである。
dwCodecIndexDWORDin対象コーデックの0始まりのインデックスである。
dwFormatIndexDWORDin対象形式の0始まりのインデックスである。
ppIStreamConfigIWMStreamConfig**out指定形式のストリーム構成を表すIWMStreamConfigを受け取る出力先である。
wszDescLPWSTRout形式の説明文字列を受け取るバッファである。NULLでサイズ問い合わせ可能である。
pcchDescDWORD*inout説明バッファ文字数を入力し必要文字数を受け取る入出力ポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IWMCodecInfo2 "{AA65E273-B686-4056-91EC-DD768D4DF710}"
#usecom global IWMCodecInfo2 IID_IWMCodecInfo2 "{}"
#comfunc global IWMCodecInfo2_GetCodecName        6 var,int,var,var
#comfunc global IWMCodecInfo2_GetCodecFormatDesc  7 var,int,int,sptr,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。