IWMPCore
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IWMPCore インターフェイスは、Windows Media Player コントロールのルートインターフェイスです。コントロールがサポートする他のインターフェイスへのポインターを取得したり、いくつかの基本的な機能にアクセスしたりするために使用できます。
メソッド 21
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
close メソッドは、Windows Media Player のリソースを解放します。
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドは、Windows Media Player ではなく、現在のデジタルメディアファイルを閉じます。
get_URL メソッドは、再生するクリップの名前を取得します。
| pbstrURL | LPWSTR* | inout | URL を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
ファイアウォールの背後からメディア項目を開くアプリケーションでは、IP アドレスではなくドメインネームサーバー (DNS) 名を使用してアドレスを指定すると、パフォーマンスが向上します。
このメソッドをイベントハンドラーから呼び出すと、予期しない結果になることがあります。
put_URL メソッドは、再生するメディア項目の URL を指定します。
| bstrURL | LPWSTR | in | URL を格納する BSTR。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドは、呼び出し元のプログラムまたは Web ページのセキュリティゾーンと同じか、それよりも制限の緩いセキュリティゾーンの URL を設定する場合にのみ使用できます。
ファイアウォールの背後からメディア項目を開くアプリケーションでは、IP アドレスではなくドメインネームサーバー (DNS) 名を使用してアドレスを指定すると、パフォーマンスが向上します。
このメソッドは予期しない結果になることがあるため、イベントハンドラーのコードから呼び出さないでください。
get_openState メソッドは、コンテンツソースの状態を示す列挙値を取得します。
| pwmpos | WMPOpenState* | inout | WMPOpenState 列挙体へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
Windows Media Player の状態は、特定の順序で発生することが保証されていません。さらに、一連のイベント中にすべての状態が必ず発生するとは限りません。状態の順序に依存するコードを記述しないでください。
get_playState メソッドは、Windows Media Player の動作状態を示す列挙値を取得します。
| pwmpps | WMPPlayState* | inout | WMPPlayState 列挙体へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
Windows Media Player の状態は、特定の順序で発生することが保証されていません。さらに、一連のイベント中にすべての状態が必ず発生するとは限りません。状態の順序に依存するコードを記述しないでください。
get_controls メソッドは、IWMPControls インターフェイスへのポインターを取得します。
| ppControl | IWMPControls** | out | IWMPControls インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
get_settings メソッドは、IWMPSettings インターフェイスへのポインターを取得します。
| ppSettings | IWMPSettings** | out | IWMPSettings インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
get_currentMedia メソッドは、現在のメディア項目に対応する IWMPMedia インターフェイスへのポインターを取得します。
| ppMedia | IWMPMedia** | out | IWMPMedia インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
put_currentMedia メソッドは、現在のメディア項目に対応する IWMPMedia インターフェイスを指定します。
| pMedia | IWMPMedia* | in | IWMPMedia インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
IWMPSettings::put_autoStart メソッドが引数 true で呼び出されている場合、put_currentMedia を呼び出すたびにファイルの再生が自動的に開始されます。
特定のメディア項目の IWMPMedia インターフェイスは、IWMPPlaylist::get_item メソッドを呼び出すことで取得できます。
get_mediaCollection メソッドは、IWMPMediaCollection インターフェイスへのポインターを取得します。
| ppMediaCollection | IWMPMediaCollection** | out | IWMPMediaCollection インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、ライブラリアクセスを参照してください。
get_playlistCollection メソッドは、IWMPPlaylistCollection インターフェイスへのポインターを取得します。
| ppPlaylistCollection | IWMPPlaylistCollection** | out | IWMPPlaylistCollection インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、ライブラリアクセスを参照してください。
get_versionInfo メソッドは、Windows Media Player のバージョンを示す String 値を取得します。
| pbstrVersionInfo | LPWSTR* | inout | バージョン情報を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
返される文字列は次の形式です。"X.0.0.YYYY"。ここで X はメジャーバージョン番号を表し、YYYY はビルド番号を表します。
launchURL メソッドは、ユーザーの既定のブラウザーに URL を送信します。
| bstrURL | LPWSTR | in | URL を格納する BSTR。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドは、HTTP または HTTPS プロトコルを使用する Web ページのみを開きます。
Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。
get_network メソッドは、IWMPNetwork インターフェイスへのポインターを取得します。
| ppQNI | IWMPNetwork** | out | IWMPNetwork インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
ネットワーク情報ハンドラーを返します。
get_currentPlaylist メソッドは、現在のプレイリストに対応する IWMPPlaylist インターフェイスへのポインターを取得します。
| ppPL | IWMPPlaylist** | out | IWMPPlaylist インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
put_currentPlaylist メソッドは、現在のプレイリストに対応する IWMPPlaylist インターフェイスを指定します。
| pPL | IWMPPlaylist* | in | IWMPPlaylist インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
IWMPSettings::put_autoStart メソッドが引数 true で呼び出されている場合、put_currentPlaylist を呼び出すたびにファイルの再生が自動的に開始されます。
特定のメディアオブジェクトの IWMPMedia インターフェイスは、IWMPPlaylist::get_Item メソッドを呼び出すことで取得できます。
get_cdromCollection メソッドは、IWMPCdromCollection インターフェイスへのポインターを取得します。
| ppCdromCollection | IWMPCdromCollection** | out | IWMPCdromCollection インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、ライブラリアクセスを参照してください。
get_closedCaption メソッドは、IWMPClosedCaption インターフェイスへのポインターを取得します。
| ppClosedCaption | IWMPClosedCaption** | out | IWMPClosedCaption インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
get_isOnline メソッドは、ユーザーがネットワークに接続されているかどうかを示す値を取得します。
| pfOnline | VARIANT_BOOL* | inout | VARIANT_BOOL へのポインター。true はオンラインを示します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
Windows Media Player 10 Mobile: このメソッドは常に TRUE に設定された VARIANT_BOOL を取得します。
get_error メソッドは、IWMPError インターフェイスへのポインターを取得します。
| ppError | IWMPError** | out | IWMPError インターフェイスへのポインターへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
get_status メソッドは、Windows Media Player の状態を取得します。
| pbstrStatus | LPWSTR* | inout | 状態を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
このメソッドが返す値はいつでも変更される可能性があり、表示目的にのみ使用してください。
このプロパティの値が変化するたびに、IWMPEvents::StatusChange イベントが発生します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 不要)。#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 sptr #comfunc global IWMPCore_put_URL 9 wstr #comfunc global IWMPCore_get_openState 10 sptr #comfunc global IWMPCore_get_playState 11 sptr #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 sptr #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 sptr #comfunc global IWMPCore_get_error 26 sptr #comfunc global IWMPCore_get_status 27 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。