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

IWMPEvents2

COM
IID1e7601fa-47ea-4107-9ea9-9004ed9684ff継承元IWMPEvents自前メソッド開始 vtbl48

公式ドキュメント

IWMPEvents2 インターフェイスは、Windows Media Player 10 以降のコントロールから発生するイベントを提供し、埋め込みプログラムがこれに応答できます。IWMPEvents2 が公開するイベントは、_WMPOCXEvents インターフェイスでも公開されます。

メソッド 6

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

vtbl 48 void DeviceConnect(IWMPSyncDevice* pDevice)

DeviceConnect イベントは、ユーザーがデバイスをコンピューターに接続したときに発生します。

pDeviceIWMPSyncDevice*inユーザーが接続したデバイスを表す IWMPSyncDevice インターフェイスのアドレス。

解説(Remarks)

このイベントは、_WMPOCXEvents インターフェイスを使用して IDispatch イベントシンク経由で処理することもできます。

Windows Media Player 10 Mobile: このイベントはサポートされていません。

vtbl 49 void DeviceDisconnect(IWMPSyncDevice* pDevice)

DeviceDisconnect イベントは、ユーザーがデバイスをコンピューターから切断したときに発生します。

pDeviceIWMPSyncDevice*inユーザーが切断したデバイスを表す IWMPSyncDevice インターフェイスのアドレス。

解説(Remarks)

特定のデバイスが、ユーザーが切断したデバイスと一致するかどうかを判断するには、IWMPSyncDevice::isIdentical を使用します。

このイベントは、_WMPOCXEvents インターフェイスを使用して IDispatch イベントシンク経由で処理することもできます。

Windows Media Player 10 Mobile: このイベントはサポートされていません。

vtbl 50 void DeviceStatusChange(IWMPSyncDevice* pDevice, WMPDeviceStatus NewStatus)

DeviceStatusChange イベントは、デバイスのパートナーシップの状態が変化したときに発生します。

pDeviceIWMPSyncDevice*in状態が変化したデバイスを表す IWMPSyncDevice インターフェイスのアドレス。
NewStatusWMPDeviceStatusinpDevice で指定されたデバイスの新しい状態を表す WMPDeviceStatus 列挙値。

解説(Remarks)

特定のデバイスが、状態が変化したデバイスと一致するかどうかを判断するには、IWMPSyncDevice::isIdentical を使用します。

このイベントは、_WMPOCXEvents インターフェイスを使用して IDispatch イベントシンク経由で処理することもできます。

Windows Media Player 10 Mobile: このイベントはサポートされていません。

vtbl 51 void DeviceSyncStateChange(IWMPSyncDevice* pDevice, WMPSyncState NewState)

DeviceSyncStateChange イベントは、デバイスの同期状態が変化したときに発生します。

pDeviceIWMPSyncDevice*in同期状態が変化したデバイスを表す IWMPSyncDevice インターフェイスのアドレス。
NewStateWMPSyncStateinpDevice で指定されたデバイスの新しい同期状態を表す WMPSyncState 列挙値。

解説(Remarks)

特定のデバイスが、同期状態が変化したデバイスと一致するかどうかを判断するには、IWMPSyncDevice::isIdentical を使用します。

このイベントは、_WMPOCXEvents インターフェイスを使用して IDispatch イベントシンク経由で処理することもできます。

Windows Media Player 10 Mobile: このイベントはサポートされていません。

vtbl 52 void DeviceSyncError(IWMPSyncDevice* pDevice, IDispatch* pMedia)

DeviceSyncError イベントは、同期エラーに応じて発生します。

pDeviceIWMPSyncDevice*in同期エラーが発生したデバイスを表す IWMPSyncDevice インターフェイスのアドレス。
pMediaIDispatch*in同期エラーが発生したメディア項目を表す IWMPDispatch インターフェイスのアドレス。

解説(Remarks)

Media オブジェクトの IWMPMedia2 インターフェイスを取得するには、pMedia に対して QueryInterface を呼び出します。その後、IWMPMedia2::get_error を使用して、発生したエラーに関する詳細情報を取得できます。

特定のデバイスが、エラーが発生したデバイスと一致するかどうかを判断するには、IWMPSyncDevice::isIdentical を使用します。

このイベントは、_WMPOCXEvents インターフェイスを使用して IDispatch イベントシンク経由で処理することもできます。

Windows Media Player 10 Mobile: このイベントはサポートされていません。

vtbl 53 void CreatePartnershipComplete(IWMPSyncDevice* pDevice, HRESULT hrResult)

CreatePartnershipComplete イベントは、IWMPSyncDevice::createPartnership への非同期呼び出しが完了したときに発生します。

pDeviceIWMPSyncDevice*inパートナーシップが作成されたデバイスオブジェクトを表す IWMPSyncDevice インターフェイスのアドレス。
hrResultHRESULTinパートナーシップ作成操作の成功またはエラーを示す HRESULT

解説(Remarks)

IWMPSyncDevice::createPartnership を呼び出すと、Windows Media Player とデバイスの間でパートナーシップを作成する非同期操作が開始されます。この呼び出しはすぐに戻ります。パートナーシップを作成する操作が終了すると、CreatePartnershipComplete が発生します。

このイベント通知を受け取っても、パートナーシップが存在することが保証されるわけではありません。

このイベントは、リモート化されたすべての Windows Media Player コントロールインスタンスにブロードキャストされます。

特定のデバイスが、パートナーシップが作成されたデバイスと一致するかどうかを判断するには、IWMPSyncDevice::isIdentical を使用します。

このイベントは、_WMPOCXEvents インターフェイスを使用して IDispatch イベントシンク経由で処理することもできます。

Windows Media Player 10 Mobile: このイベントはサポートされていません。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMPEvents2 "{1E7601FA-47EA-4107-9EA9-9004ED9684FF}"
#usecom global IWMPEvents2 IID_IWMPEvents2 "{}"
#comfunc global IWMPEvents2_DeviceConnect              48 sptr
#comfunc global IWMPEvents2_DeviceDisconnect           49 sptr
#comfunc global IWMPEvents2_DeviceStatusChange         50 sptr,int
#comfunc global IWMPEvents2_DeviceSyncStateChange      51 sptr,int
#comfunc global IWMPEvents2_DeviceSyncError            52 sptr,sptr
#comfunc global IWMPEvents2_CreatePartnershipComplete  53 sptr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。