ホーム › Media.MediaPlayer › IWMPMediaPluginRegistrar
IWMPMediaPluginRegistrar
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT WMPRegisterPlayerPlugin(LPWSTR pwszFriendlyName, LPWSTR pwszDescription, LPWSTR pwszUninstallString, DWORD dwPriority, GUID guidPluginType, GUID clsid, DWORD cMediaTypes, void* pMediaTypes)
| pwszFriendlyName | LPWSTR | in | ユーザに表示されるプラグインの分かりやすい名前を指す文字列。 |
| pwszDescription | LPWSTR | in | プラグインの説明文を指す文字列。 |
| pwszUninstallString | LPWSTR | in | プラグインのアンインストールに用いるコマンド文字列。NULL可。 |
| dwPriority | DWORD | in | 同種プラグイン間での処理優先度を示す値(DWORD)。大きいほど優先。 |
| guidPluginType | GUID | in | プラグインの種別を示すGUID(DSP/レンダラ等)。 |
| clsid | GUID | in | 登録するプラグインCOMオブジェクトのクラスID(GUID)。 |
| cMediaTypes | DWORD | in | pMediaTypesが指すメディアタイプ配列の要素数(DWORD)。 |
| pMediaTypes | void* | inout | 対応メディアタイプを記述する配列へのポインタ(DMO_MEDIA_TYPE等)。NULL可。 |
vtbl 4 HRESULT WMPUnRegisterPlayerPlugin(GUID guidPluginType, GUID clsid)
| guidPluginType | GUID | in | 登録解除するプラグインの種別を示すGUID。 |
| clsid | GUID | in | 登録解除するプラグインCOMオブジェクトのクラスID(GUID)。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWMPMediaPluginRegistrar "{68E27045-05BD-40B2-9720-23088C78E390}"
#usecom global IWMPMediaPluginRegistrar IID_IWMPMediaPluginRegistrar "{}"
#comfunc global IWMPMediaPluginRegistrar_WMPRegisterPlayerPlugin 3 wstr,wstr,wstr,int,int,int,int,sptr
#comfunc global IWMPMediaPluginRegistrar_WMPUnRegisterPlayerPlugin 4 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。