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

IWMDMOperation2

COM
IID33445b48-7df7-425c-ad8f-0fc6d82f9f75継承元IWMDMOperation自前メソッド開始 vtbl13

メソッド 2

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

vtbl 13 HRESULT SetObjectAttributes2(DWORD dwAttributes, DWORD dwAttributesEx, WAVEFORMATEX* pFormat, VIDEOINFOHEADER* pVideoFormat)
dwAttributesDWORDin設定する基本属性を示すビットマスク。
dwAttributesExDWORDin設定する拡張属性を示すビットマスク。
pFormatWAVEFORMATEX*inoptional設定するオーディオ形式を記述するWAVEFORMATEXへのポインター。不要ならNULL可。
pVideoFormatVIDEOINFOHEADER*inoptional設定するビデオ形式を記述するVIDEOINFOHEADERへのポインター。不要ならNULL可。
vtbl 14 HRESULT GetObjectAttributes2(DWORD* pdwAttributes, DWORD* pdwAttributesEx, WAVEFORMATEX* pAudioFormat, VIDEOINFOHEADER* pVideoFormat)
pdwAttributesDWORD*out基本属性を示すビットマスクを受け取るDWORDへの出力ポインター。
pdwAttributesExDWORD*out拡張属性を示すビットマスクを受け取るDWORDへの出力ポインター。
pAudioFormatWAVEFORMATEX*inoutoptionalオーディオ形式情報を受け取るWAVEFORMATEXへのポインター。不要ならNULL可。
pVideoFormatVIDEOINFOHEADER*inoutoptionalビデオ形式情報を受け取るVIDEOINFOHEADERへのポインター。不要ならNULL可。

HSP用 COM定義

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

出力引数:
#define global IID_IWMDMOperation2 "{33445B48-7DF7-425C-AD8F-0FC6D82F9F75}"
#usecom global IWMDMOperation2 IID_IWMDMOperation2 "{}"
#comfunc global IWMDMOperation2_SetObjectAttributes2  13 int,int,var,var
#comfunc global IWMDMOperation2_GetObjectAttributes2  14 var,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。