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

IWMWriterAdvanced2

COM
IID962dc1ec-c046-4db8-9cc7-26ceae500817継承元IWMWriterAdvanced自前メソッド開始 vtbl14

メソッド 2

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

vtbl 14 HRESULT GetInputSetting(DWORD dwInputNum, LPWSTR pszName, WMT_ATTR_DATATYPE* pType, BYTE* pValue, WORD* pcbLength)
dwInputNumDWORDin設定を取得する入力の0始まりのインデックスである。
pszNameLPWSTRin取得する設定項目の名前を示すワイド文字列である。
pTypeWMT_ATTR_DATATYPE*out取得した値のデータ型を受け取るWMT_ATTR_DATATYPE出力先である。
pValueBYTE*out取得した設定値を受け取るバッファである。NULLでサイズ問い合わせ可能である。
pcbLengthWORD*inoutバッファサイズを入力し実際の値のバイト数を受け取る入出力ポインタである。
vtbl 15 HRESULT SetInputSetting(DWORD dwInputNum, LPWSTR pszName, WMT_ATTR_DATATYPE Type, BYTE* pValue, WORD cbLength)
dwInputNumDWORDin設定を適用する入力の0始まりのインデックスである。
pszNameLPWSTRin設定する項目の名前を示すワイド文字列である。
TypeWMT_ATTR_DATATYPEin設定値のデータ型を示すWMT_ATTR_DATATYPE列挙値である。
pValueBYTE*in設定する値を保持するバッファへのポインタである。
cbLengthWORDin値バッファのバイト長である。

HSP用 COM定義

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

出力引数:
#define global IID_IWMWriterAdvanced2 "{962DC1EC-C046-4DB8-9CC7-26CEAE500817}"
#usecom global IWMWriterAdvanced2 IID_IWMWriterAdvanced2 "{}"
#comfunc global IWMWriterAdvanced2_GetInputSetting  14 int,wstr,var,var,var
#comfunc global IWMWriterAdvanced2_SetInputSetting  15 int,wstr,int,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。