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

IWMProfile

COM
IID96406bdb-2b2b-11d3-b36b-00c04f6108ff継承元IUnknown自前メソッド開始 vtbl3

メソッド 18

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

vtbl 3 HRESULT GetVersion(WMT_VERSION* pdwVersion)
pdwVersionWMT_VERSION*outプロファイルのバージョンWMT_VERSIONを受け取る出力先。
vtbl 4 HRESULT GetName(LPWSTR pwszName, DWORD* pcchName)
pwszNameLPWSTRoutプロファイル名を受け取る文字列バッファ。NULLで長さ問い合わせ。
pcchNameDWORD*inout入力で確保文字数、出力で必要文字数を示すDWORDポインタ。
vtbl 5 HRESULT SetName(LPWSTR pwszName)
pwszNameLPWSTRin設定するプロファイル名を指す広域文字列。
vtbl 6 HRESULT GetDescription(LPWSTR pwszDescription, DWORD* pcchDescription)
pwszDescriptionLPWSTRoutプロファイルの説明を受け取る文字列バッファ。NULLで長さ問い合わせ。
pcchDescriptionDWORD*inout入力で確保文字数、出力で必要文字数を示すDWORDポインタ。
vtbl 7 HRESULT SetDescription(LPWSTR pwszDescription)
pwszDescriptionLPWSTRin設定するプロファイルの説明を指す広域文字列。
vtbl 8 HRESULT GetStreamCount(DWORD* pcStreams)
pcStreamsDWORD*outプロファイル内のストリーム数を受け取る出力先。DWORDポインタ。
vtbl 9 HRESULT GetStream(DWORD dwStreamIndex, IWMStreamConfig** ppConfig)
dwStreamIndexDWORDin取得対象ストリームの0起点インデックス。
ppConfigIWMStreamConfig**outストリーム構成IWMStreamConfigを受け取る出力先。要Release。
vtbl 10 HRESULT GetStreamByNumber(WORD wStreamNum, IWMStreamConfig** ppConfig)
wStreamNumWORDin取得対象のストリーム番号(1起点)。
ppConfigIWMStreamConfig**out指定番号のストリーム構成IWMStreamConfigを受け取る出力先。要Release。
vtbl 11 HRESULT RemoveStream(IWMStreamConfig* pConfig)
pConfigIWMStreamConfig*in削除するストリーム構成IWMStreamConfigへのポインタ。
vtbl 12 HRESULT RemoveStreamByNumber(WORD wStreamNum)
wStreamNumWORDin削除対象のストリーム番号を指定する。
vtbl 13 HRESULT AddStream(IWMStreamConfig* pConfig)
pConfigIWMStreamConfig*inプロファイルに追加するストリーム構成へのポインタ。
vtbl 14 HRESULT ReconfigStream(IWMStreamConfig* pConfig)
pConfigIWMStreamConfig*in再構成する既存ストリームの新しい構成へのポインタ。
vtbl 15 HRESULT CreateNewStream(GUID* guidStreamType, IWMStreamConfig** ppConfig)
guidStreamTypeGUID*in新規ストリームのメディア種別を示すGUIDへのポインタ。
ppConfigIWMStreamConfig**out作成された新規ストリーム構成を受け取る出力先。要Release。
vtbl 16 HRESULT GetMutualExclusionCount(DWORD* pcME)
pcMEDWORD*outプロファイル内の相互排他オブジェクト数を受け取る出力先。DWORDポインタ。
vtbl 17 HRESULT GetMutualExclusion(DWORD dwMEIndex, IWMMutualExclusion** ppME)
dwMEIndexDWORDin取得対象相互排他の0起点インデックス。
ppMEIWMMutualExclusion**out相互排他IWMMutualExclusionを受け取る出力先。要Release。
vtbl 18 HRESULT RemoveMutualExclusion(IWMMutualExclusion* pME)
pMEIWMMutualExclusion*in削除する相互排他IWMMutualExclusionへのポインタ。
vtbl 19 HRESULT AddMutualExclusion(IWMMutualExclusion* pME)
pMEIWMMutualExclusion*inプロファイルに追加する相互排他オブジェクトへのポインタ。
vtbl 20 HRESULT CreateNewMutualExclusion(IWMMutualExclusion** ppME)
ppMEIWMMutualExclusion**out新規作成された相互排他オブジェクトを受け取る出力先。要Release。

HSP用 COM定義

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

出力引数:
#define global IID_IWMProfile "{96406BDB-2B2B-11D3-B36B-00C04F6108FF}"
#usecom global IWMProfile IID_IWMProfile "{}"
#comfunc global IWMProfile_GetVersion                3 var
#comfunc global IWMProfile_GetName                   4 var,var
#comfunc global IWMProfile_SetName                   5 wstr
#comfunc global IWMProfile_GetDescription            6 var,var
#comfunc global IWMProfile_SetDescription            7 wstr
#comfunc global IWMProfile_GetStreamCount            8 var
#comfunc global IWMProfile_GetStream                 9 int,sptr
#comfunc global IWMProfile_GetStreamByNumber         10 int,sptr
#comfunc global IWMProfile_RemoveStream              11 sptr
#comfunc global IWMProfile_RemoveStreamByNumber      12 int
#comfunc global IWMProfile_AddStream                 13 sptr
#comfunc global IWMProfile_ReconfigStream            14 sptr
#comfunc global IWMProfile_CreateNewStream           15 var,sptr
#comfunc global IWMProfile_GetMutualExclusionCount   16 var
#comfunc global IWMProfile_GetMutualExclusion        17 int,sptr
#comfunc global IWMProfile_RemoveMutualExclusion     18 sptr
#comfunc global IWMProfile_AddMutualExclusion        19 sptr
#comfunc global IWMProfile_CreateNewMutualExclusion  20 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。