ホーム › Media.WindowsMediaFormat › IWMProfileManager
IWMProfileManager
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CreateEmptyProfile(WMT_VERSION dwVersion, IWMProfile** ppProfile)
| dwVersion | WMT_VERSION | in | 作成するプロファイルのバージョンを示すWMT_VERSION列挙値。 |
| ppProfile | IWMProfile** | out | 新規作成された空のIWMProfileを受け取る出力先。要Release。 |
vtbl 4 HRESULT LoadProfileByID(GUID* guidProfile, IWMProfile** ppProfile)
| guidProfile | GUID* | in | 読み込むシステムプロファイルを識別するGUIDへのポインタ。 |
| ppProfile | IWMProfile** | out | 読み込まれたIWMProfileを受け取る出力先。要Release。 |
vtbl 5 HRESULT LoadProfileByData(LPWSTR pwszProfile, IWMProfile** ppProfile)
| pwszProfile | LPWSTR | in | プロファイルを記述したXML文字列へのポインタ。 |
| ppProfile | IWMProfile** | out | 構築されたIWMProfileを受け取る出力先。要Release。 |
vtbl 6 HRESULT SaveProfile(IWMProfile* pIWMProfile, LPWSTR pwszProfile, DWORD* pdwLength)
| pIWMProfile | IWMProfile* | in | 保存するIWMProfileオブジェクトへのポインタ。 |
| pwszProfile | LPWSTR | in | プロファイルXMLを受け取る文字列バッファ。NULLで長さ問い合わせ。 |
| pdwLength | DWORD* | inout | 入力で確保文字数、出力で必要文字数を示すDWORDポインタ。 |
| pcProfiles | DWORD* | out | 利用可能なシステムプロファイル数を受け取る出力先。DWORDポインタ。 |
vtbl 8 HRESULT LoadSystemProfile(DWORD dwProfileIndex, IWMProfile** ppProfile)
| dwProfileIndex | DWORD | in | 読み込むシステムプロファイルの0起点インデックス。 |
| ppProfile | IWMProfile** | out | 読み込まれたIWMProfileを受け取る出力先。要Release。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMProfileManager "{D16679F2-6CA0-472D-8D31-2F5D55AEE155}" #usecom global IWMProfileManager IID_IWMProfileManager "{}" #comfunc global IWMProfileManager_CreateEmptyProfile 3 int,sptr #comfunc global IWMProfileManager_LoadProfileByID 4 var,sptr #comfunc global IWMProfileManager_LoadProfileByData 5 wstr,sptr #comfunc global IWMProfileManager_SaveProfile 6 sptr,wstr,var #comfunc global IWMProfileManager_GetSystemProfileCount 7 var #comfunc global IWMProfileManager_LoadSystemProfile 8 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWMProfileManager "{D16679F2-6CA0-472D-8D31-2F5D55AEE155}" #usecom global IWMProfileManager IID_IWMProfileManager "{}" #comfunc global IWMProfileManager_CreateEmptyProfile 3 int,sptr #comfunc global IWMProfileManager_LoadProfileByID 4 sptr,sptr #comfunc global IWMProfileManager_LoadProfileByData 5 wstr,sptr #comfunc global IWMProfileManager_SaveProfile 6 sptr,wstr,sptr #comfunc global IWMProfileManager_GetSystemProfileCount 7 sptr #comfunc global IWMProfileManager_LoadSystemProfile 8 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。