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

IWMCodecInfo3

COM
IID7e51f487-4d93-4f98-8ab4-27d0565adc51継承元IWMCodecInfo2自前メソッド開始 vtbl8

メソッド 4

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

vtbl 8 HRESULT GetCodecFormatProp(GUID* guidType, DWORD dwCodecIndex, DWORD dwFormatIndex, LPWSTR pszName, WMT_ATTR_DATATYPE* pType, BYTE* pValue, DWORD* pdwSize)
guidTypeGUID*in対象メディア種別を示すGUIDへのポインタである。
dwCodecIndexDWORDin対象コーデックの0始まりのインデックスである。
dwFormatIndexDWORDin対象形式の0始まりのインデックスである。
pszNameLPWSTRin取得するプロパティの名前を示すワイド文字列である。
pTypeWMT_ATTR_DATATYPE*out値のデータ型を受け取るWMT_ATTR_DATATYPE出力先である。
pValueBYTE*outプロパティ値を受け取るバッファである。NULLでサイズ問い合わせ可能である。
pdwSizeDWORD*inout値バッファサイズを入力し実際のバイト数を受け取る入出力ポインタである。
vtbl 9 HRESULT GetCodecProp(GUID* guidType, DWORD dwCodecIndex, LPWSTR pszName, WMT_ATTR_DATATYPE* pType, BYTE* pValue, DWORD* pdwSize)
guidTypeGUID*in対象メディア種別を示すGUIDへのポインタである。
dwCodecIndexDWORDin対象コーデックの0始まりのインデックスである。
pszNameLPWSTRin取得するプロパティの名前を示すワイド文字列である。
pTypeWMT_ATTR_DATATYPE*out値のデータ型を受け取るWMT_ATTR_DATATYPE出力先である。
pValueBYTE*outプロパティ値を受け取るバッファである。NULLでサイズ問い合わせ可能である。
pdwSizeDWORD*inout値バッファサイズを入力し実際のバイト数を受け取る入出力ポインタである。
vtbl 10 HRESULT SetCodecEnumerationSetting(GUID* guidType, DWORD dwCodecIndex, LPWSTR pszName, WMT_ATTR_DATATYPE Type, BYTE* pValue, DWORD dwSize)
guidTypeGUID*in対象メディア種別を示すGUIDへのポインタである。
dwCodecIndexDWORDin対象コーデックの0始まりのインデックスである。
pszNameLPWSTRin設定する列挙設定の名前を示すワイド文字列である。
TypeWMT_ATTR_DATATYPEin値のデータ型を示すWMT_ATTR_DATATYPE列挙値である。
pValueBYTE*in設定する値を保持するバッファへのポインタである。
dwSizeDWORDin値バッファのバイト長である。
vtbl 11 HRESULT GetCodecEnumerationSetting(GUID* guidType, DWORD dwCodecIndex, LPWSTR pszName, WMT_ATTR_DATATYPE* pType, BYTE* pValue, DWORD* pdwSize)
guidTypeGUID*in対象メディア種別を示すGUIDへのポインタである。
dwCodecIndexDWORDin対象コーデックの0始まりのインデックスである。
pszNameLPWSTRin取得する列挙設定の名前を示すワイド文字列である。
pTypeWMT_ATTR_DATATYPE*out値のデータ型を受け取るWMT_ATTR_DATATYPE出力先である。
pValueBYTE*out設定値を受け取るバッファである。NULLでサイズ問い合わせ可能である。
pdwSizeDWORD*inout値バッファサイズを入力し実際のバイト数を受け取る入出力ポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IWMCodecInfo3 "{7E51F487-4D93-4F98-8AB4-27D0565ADC51}"
#usecom global IWMCodecInfo3 IID_IWMCodecInfo3 "{}"
#comfunc global IWMCodecInfo3_GetCodecFormatProp          8 var,int,int,wstr,var,var,var
#comfunc global IWMCodecInfo3_GetCodecProp                9 var,int,wstr,var,var,var
#comfunc global IWMCodecInfo3_SetCodecEnumerationSetting  10 var,int,wstr,int,var,int
#comfunc global IWMCodecInfo3_GetCodecEnumerationSetting  11 var,int,wstr,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。