IWMPSyncDevice
COM公式ドキュメント
IWMPSyncDevice インターフェイスは、Windows Media Player 10 以降がデジタルメディアファイルをコピーできるデバイスを表します。
メソッド 16
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
get_friendlyName メソッドは、ユーザーが定義したデバイスの名前を取得します。
| pbstrName | LPWSTR* | inout | フレンドリ名を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
フレンドリ名は、Windows Media Player のユーザーインターフェイスに表示されるデバイス名です。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
put_friendlyName メソッドは、ユーザーが定義したデバイスの名前を指定します。
| bstrName | LPWSTR | in | フレンドリ名を格納する文字列。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
フレンドリ名は、デバイスを識別するために Windows Media Player のユーザーインターフェイスに表示される文字列です。フレンドリ名をデバイス上に保存できるデバイスの場合、このメソッドはデバイス上のフレンドリ名も変更します。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_deviceName メソッドは、デバイスの名前を取得します。
| pbstrName | LPWSTR* | inout | デバイスの名前を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
このメソッドは、Windows XP のユーザーインターフェイスに表示されるデバイス名を取得します。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_deviceId メソッドは、デバイス識別子の文字列を取得します。
| pbstrDeviceId | LPWSTR* | inout | デバイス識別子を格納する文字列を受け取る BSTR 変数のアドレス。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
デバイス識別子は、デバイスのシリアル番号です。この値は、マスストレージデバイスでは一意であることが保証されません。ただし、特定のユーザーが重複するシリアル番号に遭遇する可能性は低いです。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_partnershipIndex メソッドは、デバイスパートナーシップのインデックスを取得します。
| plIndex | INT* | inout | パートナーシップのインデックス値を格納する long へのポインター。指定可能な値の範囲は 0 から 16 です。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
Windows Media Player 10 以降は、1 から 16 までの番号が付けられた最大 16 個のデバイスパートナーシップをサポートします。Player では、各デバイスに対して 1 台のコンピューターとの 1 つのパートナーシップを許可します。新しいパートナーシップを作成すると、現在のデバイスとの既存のパートナーシップはすべて破棄されます。
plIndex が 0 の場合、パートナーシップは存在しません。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_connected メソッドは、デバイスが Windows Media Player に接続されているかどうかを示す値を取得します。
| pvbConnected | VARIANT_BOOL* | inout | デバイスが接続されているかどうかを示す VARIANT_BOOL。指定可能な値を次の表に示します。
|
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_status メソッドは、Windows Media Player とデバイスの間の関係の状態を示す値を取得します。
| pwmpds | WMPDeviceStatus* | inout | 現在の状態を示す WMPDeviceStatus 列挙値へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
Windows Media Player 10 以降は、最大 16 個のデバイスパートナーシップをサポートします。Player では、各デバイスに対して 1 台のコンピューターとの 1 つのパートナーシップを許可します。新しいパートナーシップを作成すると、現在のデバイスとの既存のパートナーシップはすべて破棄されます。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_syncState メソッドは、デバイスの現在の同期状態を示す値を取得します。
| pwmpss | WMPSyncState* | inout | デバイスの現在の同期状態を示す WMPSyncState 列挙値へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
状態が wmpdsManualDevice であるデバイスは、常に wmpssUnknown を返します。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
get_progress メソッドは、同期の進行状況を完了率(パーセント)として示す値を取得します。
| plProgress | INT* | inout | 進行状況を完了率(パーセント)として示す long へのポインター。指定可能な値は 0 から 100 です。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
plProgress の値は、デバイスの同期操作全体の完了率(パーセント)を示します。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
getItemInfo メソッドは、デバイスからメタデータの値を取得します。
| bstrItemName | LPWSTR | in | メタデータの項目名を格納する BSTR。サポートされる項目名と、それぞれが取得する値を次の表に示します。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| pbstrVal | LPWSTR* | inout | 指定されたメタデータの項目名を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
このメソッドは、状態が wmpdsManualDevice であるデバイスのメタデータの値を取得できません。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
createPartnership メソッドは、Windows Media Player とデバイスの間にパートナーシップを作成します。
| vbShowUI | VARIANT_BOOL | in | Windows Media Player が Device Setup ダイアログボックスを表示するかどうかを指定する VARIANT_BOOL。指定可能な各値に対する動作を次の表に示します。
|
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功したか、パートナーシップが既に存在します。 | |
| ユーザーが操作をキャンセルしました。 | |
|
デバイスが接続されていません。 |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
|
現在のデバイスの状態が wmpdsManualDevice です。 |
解説(Remarks)
このメソッドは、パートナーシップを作成する非同期プロセスを開始します。結果を取得するには、CreatePartnershipComplete イベントを処理する必要があります。パートナーシップが既に存在する場合、このメソッドは S_OK を返し、イベントは発生しません。
Windows Media Player 10 以降は、最大 16 個のデバイスパートナーシップをサポートします。Player では、各デバイスに対して 1 台のコンピューターとの 1 つのパートナーシップを許可します。つまり、新しいパートナーシップを作成すると、現在のデバイスとの既存のパートナーシップはすべて破棄されます。
Windows Media Player は、状態が wmpdsManualDevice であるデバイスとパートナーシップを作成できません。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
deletePartnership メソッドは、Windows Media Player とデバイスの間のパートナーシップを終了します。
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| メソッドは成功しましたが、削除するパートナーシップがありませんでした。これは、現在の状態が wmpdsPartnershipDeclined または wmpdsNewDevice の場合に発生します。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
|
現在のデバイスの状態が wmpdsManualDevice です。 |
|
現在のデバイスの状態が wmpdsPartnershipAnother であるため、メソッドは失敗しました。このメソッドは、現在の Windows Media Player インスタンスに存在するパートナーシップのみを削除します。 |
解説(Remarks)
パートナーシップが削除されると、デバイスの状態は wmpdsPartnershipDeclined に設定されます。パートナーシップが存在しない場合、このメソッドは単に S_OK を返します。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
start メソッドは、同期を開始します。
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
特定のデバイスの同期ルールは、Windows Media Player でユーザーによって定義されます。このメソッドは、同期プロセスを開始するだけです。
同期は、Windows Media Player における手動操作である転送と混同しないでください。Windows Media Player SDK には、デジタルメディアをデバイスに転送するためのメソッドは用意されていません。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
stop メソッドは、同期を終了します。
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
showSettings メソッドは、Windows Media Player の同期設定ダイアログボックスを表示します。
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
デバイスが接続されていません。 |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
|
現在のデバイスの状態が wmpdsManualDevice です。 |
| 現在のデバイスの状態が wmpdsPartnershipDeclined、wmpdsPartnershipAnother、または wmpdsNewDevice です。このメソッドは、現在の Windows Media Player インスタンスとのパートナーシップが存在するデバイスに対してのみ設定ダイアログボックスを表示します。 |
解説(Remarks)
リモート処理された Windows Media Player インスタンスは、必要に応じてドッキングを解除し、デバイス設定ダイアログボックスを表示します。Player がスキンモードだった場合は、フルモードに戻ります。企業ポリシーによって Player がスキンモードにロックされている場合、この呼び出しは失敗します。
ユーザーがダイアログボックスを閉じると、Windows Media Player は元のドッキング状態に戻ります。
Windows Media Player のドッキングおよびドッキング解除のイベントは通常どおり発生することに注意してください。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
isIdentical メソッドは、現在のデバイスを指定したデバイスと比較し、それらが同じデバイスかどうかを示す値を取得します。
| pDevice | IWMPSyncDevice* | in | 現在のデバイスと比較する対象のデバイスを表す IWMPSyncDevice インターフェイスへのポインター。 |
| pvbool | VARIANT_BOOL* | inout | 比較の結果を示す VARIANT_BOOL へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定可能な値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
Windows Media Player は現在デバイスの初期化で処理中です。しばらくしてからもう一度お試しください。 |
解説(Remarks)
このメソッドは、IWMPSyncDevice ポインターをパラメーターとして提供するイベントハンドラーで役立ちます。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWMPSyncDevice "{82A2986C-0293-4FD0-B279-B21B86C058BE}" #usecom global IWMPSyncDevice IID_IWMPSyncDevice "{}" #comfunc global IWMPSyncDevice_get_friendlyName 3 var #comfunc global IWMPSyncDevice_put_friendlyName 4 wstr #comfunc global IWMPSyncDevice_get_deviceName 5 var #comfunc global IWMPSyncDevice_get_deviceId 6 var #comfunc global IWMPSyncDevice_get_partnershipIndex 7 var #comfunc global IWMPSyncDevice_get_connected 8 var #comfunc global IWMPSyncDevice_get_status 9 var #comfunc global IWMPSyncDevice_get_syncState 10 var #comfunc global IWMPSyncDevice_get_progress 11 var #comfunc global IWMPSyncDevice_getItemInfo 12 wstr,var #comfunc global IWMPSyncDevice_createPartnership 13 int #comfunc global IWMPSyncDevice_deletePartnership 14 #comfunc global IWMPSyncDevice_start 15 #comfunc global IWMPSyncDevice_stop 16 #comfunc global IWMPSyncDevice_showSettings 17 #comfunc global IWMPSyncDevice_isIdentical 18 sptr,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWMPSyncDevice "{82A2986C-0293-4FD0-B279-B21B86C058BE}" #usecom global IWMPSyncDevice IID_IWMPSyncDevice "{}" #comfunc global IWMPSyncDevice_get_friendlyName 3 sptr #comfunc global IWMPSyncDevice_put_friendlyName 4 wstr #comfunc global IWMPSyncDevice_get_deviceName 5 sptr #comfunc global IWMPSyncDevice_get_deviceId 6 sptr #comfunc global IWMPSyncDevice_get_partnershipIndex 7 sptr #comfunc global IWMPSyncDevice_get_connected 8 sptr #comfunc global IWMPSyncDevice_get_status 9 sptr #comfunc global IWMPSyncDevice_get_syncState 10 sptr #comfunc global IWMPSyncDevice_get_progress 11 sptr #comfunc global IWMPSyncDevice_getItemInfo 12 wstr,sptr #comfunc global IWMPSyncDevice_createPartnership 13 int #comfunc global IWMPSyncDevice_deletePartnership 14 #comfunc global IWMPSyncDevice_start 15 #comfunc global IWMPSyncDevice_stop 16 #comfunc global IWMPSyncDevice_showSettings 17 #comfunc global IWMPSyncDevice_isIdentical 18 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。