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

IWMPMediaPluginRegistrar

COM
IID68e27045-05bd-40b2-9720-23088c78e390継承元IUnknown自前メソッド開始 vtbl3

メソッド 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)
pwszFriendlyNameLPWSTRinユーザに表示されるプラグインの分かりやすい名前を指す文字列。
pwszDescriptionLPWSTRinプラグインの説明文を指す文字列。
pwszUninstallStringLPWSTRinプラグインのアンインストールに用いるコマンド文字列。NULL可。
dwPriorityDWORDin同種プラグイン間での処理優先度を示す値(DWORD)。大きいほど優先。
guidPluginTypeGUIDinプラグインの種別を示すGUID(DSP/レンダラ等)。
clsidGUIDin登録するプラグインCOMオブジェクトのクラスID(GUID)。
cMediaTypesDWORDinpMediaTypesが指すメディアタイプ配列の要素数(DWORD)。
pMediaTypesvoid*inout対応メディアタイプを記述する配列へのポインタ(DMO_MEDIA_TYPE等)。NULL可。
vtbl 4 HRESULT WMPUnRegisterPlayerPlugin(GUID guidPluginType, GUID clsid)
guidPluginTypeGUIDin登録解除するプラグインの種別を示すGUID。
clsidGUIDin登録解除するプラグイン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 指定が可能。