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

IWMPCore

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDd84cca99-cce2-11d2-9ecc-0000f8085981継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 21

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT close()
vtbl 8 HRESULT get_URL(LPWSTR* pbstrURL)
pbstrURLLPWSTR*inout現在のメディアの URL を受け取る。解放が必要。
vtbl 9 HRESULT put_URL(LPWSTR bstrURL)
bstrURLLPWSTRin再生するメディアの URL を設定する。設定すると読み込みが始まる。
vtbl 10 HRESULT get_openState(WMPOpenState* pwmpos)
pwmposWMPOpenState*inoutメディアの読み込み状態を WMPOpenState 列挙値で受け取る。
vtbl 11 HRESULT get_playState(WMPPlayState* pwmpps)
pwmppsWMPPlayState*inout現在の再生状態を WMPPlayState 列挙値で受け取る。停止や再生中など。
vtbl 12 HRESULT get_controls(IWMPControls** ppControl)
ppControlIWMPControls**out再生制御を行う IWMPControls インターフェイスを受け取る。解放が必要。
vtbl 13 HRESULT get_settings(IWMPSettings** ppSettings)
ppSettingsIWMPSettings**outプレーヤー設定を扱う IWMPSettings インターフェイスを受け取る。解放が必要。
vtbl 14 HRESULT get_currentMedia(IWMPMedia** ppMedia)
ppMediaIWMPMedia**out現在のメディアを表す IWMPMedia インターフェイスを受け取る。解放が必要。
vtbl 15 HRESULT put_currentMedia(IWMPMedia* pMedia)
pMediaIWMPMedia*in現在のメディアに設定する IWMPMedia インターフェイス。
vtbl 16 HRESULT get_mediaCollection(IWMPMediaCollection** ppMediaCollection)
ppMediaCollectionIWMPMediaCollection**outメディアライブラリを表す IWMPMediaCollection を受け取る。解放が必要。
vtbl 17 HRESULT get_playlistCollection(IWMPPlaylistCollection** ppPlaylistCollection)
ppPlaylistCollectionIWMPPlaylistCollection**outプレイリスト群を表す IWMPPlaylistCollection を受け取る。解放が必要。
vtbl 18 HRESULT get_versionInfo(LPWSTR* pbstrVersionInfo)
pbstrVersionInfoLPWSTR*inoutWindows Media Player のバージョン文字列を受け取る。解放が必要。
vtbl 19 HRESULT launchURL(LPWSTR bstrURL)
bstrURLLPWSTRin既定ブラウザで開く URL を指定する文字列。
vtbl 20 HRESULT get_network(IWMPNetwork** ppQNI)
ppQNIIWMPNetwork**outネットワーク状態を扱う IWMPNetwork インターフェイスを受け取る。解放が必要。
vtbl 21 HRESULT get_currentPlaylist(IWMPPlaylist** ppPL)
ppPLIWMPPlaylist**out現在のプレイリストを表す IWMPPlaylist を受け取る。解放が必要。
vtbl 22 HRESULT put_currentPlaylist(IWMPPlaylist* pPL)
pPLIWMPPlaylist*in現在のプレイリストに設定する IWMPPlaylist インターフェイス。
vtbl 23 HRESULT get_cdromCollection(IWMPCdromCollection** ppCdromCollection)
ppCdromCollectionIWMPCdromCollection**outCD-ROM ドライブ群を表す IWMPCdromCollection を受け取る。解放が必要。
vtbl 24 HRESULT get_closedCaption(IWMPClosedCaption** ppClosedCaption)
ppClosedCaptionIWMPClosedCaption**out字幕設定を扱う IWMPClosedCaption インターフェイスを受け取る。解放が必要。
vtbl 25 HRESULT get_isOnline(VARIANT_BOOL* pfOnline)
pfOnlineVARIANT_BOOL*inoutインターネット接続があるかを受け取る。VARIANT_TRUE でオンライン。
vtbl 26 HRESULT get_error(IWMPError** ppError)
ppErrorIWMPError**outエラー情報を扱う IWMPError インターフェイスを受け取る。解放が必要。
vtbl 27 HRESULT get_status(LPWSTR* pbstrStatus)
pbstrStatusLPWSTR*inout現在の状態を説明する文字列を受け取る。解放が必要。

HSP用 COM定義

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

出力引数:
#define global IID_IWMPCore "{D84CCA99-CCE2-11D2-9ECC-0000F8085981}"
#usecom global IWMPCore IID_IWMPCore "{}"
#comfunc global IWMPCore_close                   7
#comfunc global IWMPCore_get_URL                 8 var
#comfunc global IWMPCore_put_URL                 9 wstr
#comfunc global IWMPCore_get_openState           10 var
#comfunc global IWMPCore_get_playState           11 var
#comfunc global IWMPCore_get_controls            12 sptr
#comfunc global IWMPCore_get_settings            13 sptr
#comfunc global IWMPCore_get_currentMedia        14 sptr
#comfunc global IWMPCore_put_currentMedia        15 sptr
#comfunc global IWMPCore_get_mediaCollection     16 sptr
#comfunc global IWMPCore_get_playlistCollection  17 sptr
#comfunc global IWMPCore_get_versionInfo         18 var
#comfunc global IWMPCore_launchURL               19 wstr
#comfunc global IWMPCore_get_network             20 sptr
#comfunc global IWMPCore_get_currentPlaylist     21 sptr
#comfunc global IWMPCore_put_currentPlaylist     22 sptr
#comfunc global IWMPCore_get_cdromCollection     23 sptr
#comfunc global IWMPCore_get_closedCaption       24 sptr
#comfunc global IWMPCore_get_isOnline            25 var
#comfunc global IWMPCore_get_error               26 sptr
#comfunc global IWMPCore_get_status              27 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。