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

IWMPRemoteMediaServices

COM
IIDcbb92747-741f-44fe-ab5b-f1a48f3b2a59継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT GetServiceType(LPWSTR* pbstrType)
pbstrTypeLPWSTR*inoutホストが提供するサービス種別文字列を受け取る。Local や Remote など。解放が必要。
vtbl 4 HRESULT GetApplicationName(LPWSTR* pbstrName)
pbstrNameLPWSTR*inoutプレーヤーをホストするアプリケーション名を受け取る。解放が必要。
vtbl 5 HRESULT GetScriptableObject(LPWSTR* pbstrName, IDispatch** ppDispatch)
pbstrNameLPWSTR*inoutスクリプトから参照するオブジェクト名を受け取る。解放が必要。
ppDispatchIDispatch**outスクリプト対応オブジェクトの IDispatch を受け取る。解放が必要。
vtbl 6 HRESULT GetCustomUIMode(LPWSTR* pbstrFile)
pbstrFileLPWSTR*inoutカスタム UI に使うスキンファイルのパスを受け取る。解放が必要。

HSP用 COM定義

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

出力引数:
#define global IID_IWMPRemoteMediaServices "{CBB92747-741F-44FE-AB5B-F1A48F3B2A59}"
#usecom global IWMPRemoteMediaServices IID_IWMPRemoteMediaServices "{}"
#comfunc global IWMPRemoteMediaServices_GetServiceType       3 var
#comfunc global IWMPRemoteMediaServices_GetApplicationName   4 var
#comfunc global IWMPRemoteMediaServices_GetScriptableObject  5 var,sptr
#comfunc global IWMPRemoteMediaServices_GetCustomUIMode      6 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。