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

IWMPCore

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

公式ドキュメント

IWMPCore インターフェイスは、Windows Media Player コントロールのルートインターフェイスです。コントロールがサポートする他のインターフェイスへのポインターを取得したり、いくつかの基本的な機能にアクセスしたりするために使用できます。

メソッド 21

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

vtbl 7 HRESULT close()

close メソッドは、Windows Media Player のリソースを解放します。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドは、Windows Media Player ではなく、現在のデジタルメディアファイルを閉じます。

vtbl 8 HRESULT get_URL(LPWSTR* pbstrURL)

get_URL メソッドは、再生するクリップの名前を取得します。

pbstrURLLPWSTR*inoutURL を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

ファイアウォールの背後からメディア項目を開くアプリケーションでは、IP アドレスではなくドメインネームサーバー (DNS) 名を使用してアドレスを指定すると、パフォーマンスが向上します。

このメソッドをイベントハンドラーから呼び出すと、予期しない結果になることがあります。

vtbl 9 HRESULT put_URL(LPWSTR bstrURL)

put_URL メソッドは、再生するメディア項目の URL を指定します。

bstrURLLPWSTRinURL を格納する BSTR

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドは、呼び出し元のプログラムまたは Web ページのセキュリティゾーンと同じか、それよりも制限の緩いセキュリティゾーンの URL を設定する場合にのみ使用できます。

ファイアウォールの背後からメディア項目を開くアプリケーションでは、IP アドレスではなくドメインネームサーバー (DNS) 名を使用してアドレスを指定すると、パフォーマンスが向上します。

このメソッドは予期しない結果になることがあるため、イベントハンドラーのコードから呼び出さないでください。

vtbl 10 HRESULT get_openState(WMPOpenState* pwmpos)

get_openState メソッドは、コンテンツソースの状態を示す列挙値を取得します。

pwmposWMPOpenState*inoutWMPOpenState 列挙体へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media Player の状態は、特定の順序で発生することが保証されていません。さらに、一連のイベント中にすべての状態が必ず発生するとは限りません。状態の順序に依存するコードを記述しないでください。

vtbl 11 HRESULT get_playState(WMPPlayState* pwmpps)

get_playState メソッドは、Windows Media Player の動作状態を示す列挙値を取得します。

pwmppsWMPPlayState*inoutWMPPlayState 列挙体へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media Player の状態は、特定の順序で発生することが保証されていません。さらに、一連のイベント中にすべての状態が必ず発生するとは限りません。状態の順序に依存するコードを記述しないでください。

vtbl 12 HRESULT get_controls(IWMPControls** ppControl)

get_controls メソッドは、IWMPControls インターフェイスへのポインターを取得します。

ppControlIWMPControls**outIWMPControls インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 13 HRESULT get_settings(IWMPSettings** ppSettings)

get_settings メソッドは、IWMPSettings インターフェイスへのポインターを取得します。

ppSettingsIWMPSettings**outIWMPSettings インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 14 HRESULT get_currentMedia(IWMPMedia** ppMedia)

get_currentMedia メソッドは、現在のメディア項目に対応する IWMPMedia インターフェイスへのポインターを取得します。

ppMediaIWMPMedia**outIWMPMedia インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 15 HRESULT put_currentMedia(IWMPMedia* pMedia)

put_currentMedia メソッドは、現在のメディア項目に対応する IWMPMedia インターフェイスを指定します。

pMediaIWMPMedia*inIWMPMedia インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

IWMPSettings::put_autoStart メソッドが引数 true で呼び出されている場合、put_currentMedia を呼び出すたびにファイルの再生が自動的に開始されます。

特定のメディア項目の IWMPMedia インターフェイスは、IWMPPlaylist::get_item メソッドを呼び出すことで取得できます。

vtbl 16 HRESULT get_mediaCollection(IWMPMediaCollection** ppMediaCollection)

get_mediaCollection メソッドは、IWMPMediaCollection インターフェイスへのポインターを取得します。

ppMediaCollectionIWMPMediaCollection**outIWMPMediaCollection インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、ライブラリアクセスを参照してください。

vtbl 17 HRESULT get_playlistCollection(IWMPPlaylistCollection** ppPlaylistCollection)

get_playlistCollection メソッドは、IWMPPlaylistCollection インターフェイスへのポインターを取得します。

ppPlaylistCollectionIWMPPlaylistCollection**outIWMPPlaylistCollection インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、ライブラリアクセスを参照してください。

vtbl 18 HRESULT get_versionInfo(LPWSTR* pbstrVersionInfo)

get_versionInfo メソッドは、Windows Media Player のバージョンを示す String 値を取得します。

pbstrVersionInfoLPWSTR*inoutバージョン情報を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

返される文字列は次の形式です。"X.0.0.YYYY"。ここで X はメジャーバージョン番号を表し、YYYY はビルド番号を表します。

vtbl 19 HRESULT launchURL(LPWSTR bstrURL)

launchURL メソッドは、ユーザーの既定のブラウザーに URL を送信します。

bstrURLLPWSTRinURL を格納する BSTR

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドは、HTTP または HTTPS プロトコルを使用する Web ページのみを開きます。

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

vtbl 20 HRESULT get_network(IWMPNetwork** ppQNI)

get_network メソッドは、IWMPNetwork インターフェイスへのポインターを取得します。

ppQNIIWMPNetwork**outIWMPNetwork インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

ネットワーク情報ハンドラーを返します。

vtbl 21 HRESULT get_currentPlaylist(IWMPPlaylist** ppPL)

get_currentPlaylist メソッドは、現在のプレイリストに対応する IWMPPlaylist インターフェイスへのポインターを取得します。

ppPLIWMPPlaylist**outIWMPPlaylist インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 22 HRESULT put_currentPlaylist(IWMPPlaylist* pPL)

put_currentPlaylist メソッドは、現在のプレイリストに対応する IWMPPlaylist インターフェイスを指定します。

pPLIWMPPlaylist*inIWMPPlaylist インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

IWMPSettings::put_autoStart メソッドが引数 true で呼び出されている場合、put_currentPlaylist を呼び出すたびにファイルの再生が自動的に開始されます。

特定のメディアオブジェクトの IWMPMedia インターフェイスは、IWMPPlaylist::get_Item メソッドを呼び出すことで取得できます。

vtbl 23 HRESULT get_cdromCollection(IWMPCdromCollection** ppCdromCollection)

get_cdromCollection メソッドは、IWMPCdromCollection インターフェイスへのポインターを取得します。

ppCdromCollectionIWMPCdromCollection**outIWMPCdromCollection インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、ライブラリアクセスを参照してください。

vtbl 24 HRESULT get_closedCaption(IWMPClosedCaption** ppClosedCaption)

get_closedCaption メソッドは、IWMPClosedCaption インターフェイスへのポインターを取得します。

ppClosedCaptionIWMPClosedCaption**outIWMPClosedCaption インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 25 HRESULT get_isOnline(VARIANT_BOOL* pfOnline)

get_isOnline メソッドは、ユーザーがネットワークに接続されているかどうかを示す値を取得します。

pfOnlineVARIANT_BOOL*inoutVARIANT_BOOL へのポインター。true はオンラインを示します。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media Player 10 Mobile: このメソッドは常に TRUE に設定された VARIANT_BOOL を取得します。

vtbl 26 HRESULT get_error(IWMPError** ppError)

get_error メソッドは、IWMPError インターフェイスへのポインターを取得します。

ppErrorIWMPError**outIWMPError インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 27 HRESULT get_status(LPWSTR* pbstrStatus)

get_status メソッドは、Windows Media Player の状態を取得します。

pbstrStatusLPWSTR*inout状態を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものがありますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドが返す値はいつでも変更される可能性があり、表示目的にのみ使用してください。

このプロパティの値が変化するたびに、IWMPEvents::StatusChange イベントが発生します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 不要)。