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

IWMPContentPartner

COM
IID55455073-41b5-4e75-87b8-f13bdb291d08継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

メソッド 23

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

vtbl 3 HRESULT SetCallback(IWMPContentPartnerCallback* pCallback)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

pCallbackIWMPContentPartnerCallback*inoptionalIWMPContentPartnerCallback インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

Windows Media Player は、コールバックポインターを提供するためにプラグインをインスタンス化する際にこの関数を呼び出します。また、Player はシャットダウン時にもこの関数を呼び出し、パラメーター値として NULL を渡します。これはプラグインに対し、前回の呼び出しで提供されたコールバックポインターを解放するように指示します。

vtbl 4 HRESULT Notify(WMPPartnerNotification type, VARIANT* pContext)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

typeWMPPartnerNotificationin通知の種類。WMPPartnerNotification 列挙型のメンバーとして指定します。
pContextVARIANT*in通知データを格納する VARIANT へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

pContext のデータ型は、wmpsnCatalogDownloadFailure を除くすべての通知で VT_EMPTY です。カタログのダウンロードに失敗した場合、データ型は VT_ERROR となり、変数には HRESULT エラーコードが格納されます。

vtbl 5 HRESULT GetItemInfo(LPWSTR bstrInfoName, VARIANT* pContext, VARIANT* pData)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

bstrInfoNameLPWSTRin情報を取得する対象の項目を指定する BSTR。有効な値については「解説」を参照してください。
pContextVARIANT*in要求された情報に対するコンテキスト情報を提供する VARIANT へのポインター。
pDataVARIANT*out情報を受け取る VARIANT へのポインター。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

次の一覧は、bstrInfoName パラメーターに指定できる値と、それに対応する pContext および pData パラメーターの値を示しています。

g_szItemInfo_AlbumArtURL

pContext パラメーターは、オンラインストアのカタログ内のアルバムの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がそのアルバムに対して表示するアートの URL である VT_BSTR を受け取ります。

g_szItemInfo_ALTLoginURL

pContext パラメーターは VT_EMPTY 型で、情報を提供しません。

pData パラメーターは、標準のログインダイアログボックスの代わりに Windows Media Player が表示する Web ページの URL である VT_BSTR を受け取ります。Windows Media Player は、オンラインストアのプラグインの Capabilities レジストリエントリに SUBSCRIPTION_CAP_ALTLOGIN フラグが設定されている場合にのみ、代替ログイン URL を要求します。Capabilities レジストリエントリの詳細については、Registry Keys and Entries for a Type 1 Online Store を参照してください。

オンラインストアは、URL にパラメーター文字列 ?DlgX=width&DlgY=height を付加することで、代替ログインページをホストするウィンドウのサイズを指定できます。パラメーター文字列内の widthheight は、ウィンドウの幅と高さをピクセル単位で表します。たとえば、AltLogin.htm を幅 800 ピクセル、高さ 400 ピクセルのウィンドウに表示するように指定するには、GetItemInfo は次の文字列を返すことができます。

http://proseware.com/AltLogin.htm?DlgX=800&DlgY=400

g_szItemInfo_ALTLoginCaption

pContext パラメーターは VT_EMPTY 型で、情報を提供しません。

pData パラメーターは、Windows Media Player が代替ログイン Web ページをホストするために開くウィンドウのキャプションである VT_BSTR を受け取ります。

g_szItemInfo_ArtistArtURL

pContext パラメーターは、オンラインストアのカタログ内のアーティストの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がそのアーティストに対して表示するアートの URL である VT_BSTR を受け取ります。

g_szItemInfo_AuthenticationSuccessURL

pContext パラメーターは、認証成功後に Windows Media Player が表示する、オンラインストアが提供する Web ページのインデックスである VT_I4 を提供します。

pData パラメーターは、その Web ページの URL である VT_BSTR を受け取ります。認証成功を表す Web ページのインデックスは Windows Media Player によって解釈されず、オンラインストアにとってのみ意味を持つことに注意してください。

g_szItemInfo_ErrorDescription

pContext パラメーターは、プラグインが以前に Player に提供した HRESULT である VT_ERROR を提供します。たとえば、プラグインは IWMPContentPartnerCallback::BuyComplete を呼び出す際に HRESULT を提供します。

pData パラメーターは、オンラインストアが作成し HRESULT に関連付けられたエラーの説明である VT_BSTR を受け取ります。Windows Media Player はこのエラーメッセージを表示しますが、解釈はしません。

g_szItemInfo_ErrorURL

pContext パラメーターは、プラグインが以前に Player に提供した HRESULT である VT_ERROR を提供します。たとえば、プラグインは IWMPContentPartnerCallback::BuyComplete を呼び出す際に HRESULT を提供します。

pData パラメーターは、ユーザーがエラー解決リンクをクリックしたときに Windows Media Player が表示する Web ページの URL である VT_BSTR を受け取ります。エラー解決リンクは Player のユーザーインターフェイスの一部です。

g_szItemInfo_ErrorURLLinkText

pContext パラメーターは、プラグインが以前に Player に提供した HRESULT である VT_ERROR を提供します。たとえば、プラグインは IWMPContentPartnerCallback::BuyComplete を呼び出す際に HRESULT を提供します。

pData パラメーターは、Windows Media Player がエラー解決リンクを表示するときに使用する、オンラインストアが作成したテキストである VT_BSTR を受け取ります。

g_szItemInfo_TreeListIconURL

pContext パラメーターは、オンラインストアのカタログ内のリストの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がツリービューコントロール内でそのリストに対して表示するアイコンの URL である VT_BSTR を受け取ります。

g_szItemInfo_CreateAccountURL

pContext パラメーターは VT_EMPTY 型で、情報を提供しません。

pData パラメーターは、ユーザーが自分のアカウントを管理できるように Windows Media Player が表示する Web ページの URL である VT_BSTR を受け取ります。

g_szItemInfo_ForgetPasswordURL

pContext パラメーターは VT_EMPTY 型で、情報を提供しません。

pData パラメーターは、ユーザーがパスワードを忘れたときに Windows Media Player が表示する Web ページの URL である VT_BSTR を受け取ります。

g_szItemInfo_GenreArtURL

pContext パラメーターは、オンラインストアのカタログ内のジャンルの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がそのジャンルに対して表示するアートの URL である VT_BSTR を受け取ります。

g_szItemInfo_HTMLViewURL

pContext パラメーターは、Windows Media Player が Windows Media メタファイル (ASX ファイル) 内の PARAM 要素から取得した文字列である VT_BSTR を提供します。

pData パラメーターは、Windows Media Player が表示する Web ページの URL である VT_BSTR を受け取ります。

PARAM 要素の name 属性が "HTMLFlink" の場合、Windows Media Player は PARAM 要素の value 属性をこのメソッドに渡し、再生中 機能で表示する Web ページの URL を取得します。

g_szItemInfo_ListArtURL

pContext パラメーターは、オンラインストアのカタログ内のリストの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がそのリストに対して表示するアートの URL である VT_BSTR を受け取ります。

g_szItemInfo_LoginFailureURL

pContext パラメーターは、ログイン失敗後に Windows Media Player が表示する、オンラインストアが提供する Web ページのインデックスである VT_UI4 を提供します。

pData パラメーターは、その Web ページの URL である VT_BSTR を受け取ります。

Windows Media Player は、オンラインストアのプラグインが type パラメーターに wmpcnLoginStateChange を渡して IWMPContentPartnerCallback::Notify を呼び出した際に、このインデックスを事前に取得しています。ログイン失敗 Web ページのインデックスは Windows Media Player によって解釈されず、オンラインストアにとってのみ意味を持ちます。

g_szItemInfo_PopupURL

pContext パラメーターは、Windows Media Player がモーダルウィンドウに表示する、オンラインストアが提供するポップアップ Web ページのインデックスである VT_I4 を提供します。

pData パラメーターは、モーダルウィンドウに表示する Web ページの URL である VT_BSTR を受け取ります。ポップアップ Web ページのインデックスは Windows Media Player によって解釈されず、オンラインストアにとってのみ意味を持ちます。

g_szItemInfo_PopupCaption

pContext パラメーターは、オンラインストアが作成したポップアップキャプションのインデックスである VT_I4 を提供します。

pData パラメーターは、Windows Media Player がポップアップ Web ページをホストするために開くウィンドウのキャプションである VT_BSTR を受け取ります。ポップアップキャプションのインデックスは Windows Media Player によって解釈されず、オンラインストアにとってのみ意味を持ちます。

g_szItemInfo_RadioArtURL

pContext パラメーターは、オンラインストアのカタログ内のラジオフィードの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がそのラジオフィードに対して表示するアートの URL である VT_BSTR を受け取ります。

g_szItemInfo_SubGenreArtURL

pContext パラメーターは、オンラインストアのカタログ内のサブジャンルの ID である VT_UI4 を提供します。

pData パラメーターは、Windows Media Player がそのサブジャンルに対して表示するアートの URL である VT_BSTR を受け取ります。

vtbl 6 HRESULT GetContentPartnerInfo(LPWSTR bstrInfoName, VARIANT* pData)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。GetContentPartnerInfo メソッドは、オンラインストアに関する特定の情報を取得します。

bstrInfoNameLPWSTRin取得する情報の種類を指定する BSTR。有効な値の一覧については「解説」を参照してください。
pDataVARIANT*out情報を受け取る VARIANT のアドレス。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

次の一覧は、bstrInfoName に指定できる値と、それに対応して pData に返される値を示しています。

g_szContentPartnerInfo_LoginState

pData パラメーターは、ユーザーが現在サインインしているかどうかを示す VT_BOOL を受け取ります。VARIANT_TRUE はユーザーがサインインしていることを示し、VARIANT_FALSE はユーザーがサインインしていないことを示します。

g_szContentPartnerInfo_MediaPlayerAccountType

pData パラメーターは、アカウントの種類を示す WMPAccountType 列挙値 (VT_UI4) を受け取ります。この値は Windows Media Player によって使用されます。

g_szContentPartnerInfo_AccountType

pData パラメーターは、オンラインストアのアカウントの種類を表す文字列を格納する VT_BSTR を受け取ります。この値は Windows Media Player では使用されませんが、ユーザーに表示される場合があります。

g_szContentPartnerInfo_HasCachedCredentials

pData パラメーターは、プラグインがユーザーの資格情報 (ユーザー名とパスワード) をキャッシュしているかどうかを示す VT_BOOL を受け取ります。VARIANT_TRUE はプラグインが資格情報をキャッシュしていることを示し、VARIANT_FALSE はプラグインが資格情報をキャッシュしていないことを示します。

g_szContentPartnerInfo_LicenseRefreshAdvanceWarning

pData パラメーターは、オンラインストアがライセンスを事前に更新できる、有効期限までの日数を示す VT_UI4 を受け取ります。たとえば、プラグインがサブスクリプションコンテンツのライセンスを有効期限の 5 日前に更新できる場合、pData は値 5 を受け取ります。

g_szContentPartnerInfo_PurchasedTrackRequiresReDownload

pData パラメーターは、購入されるトラックが過去にダウンロードされている場合でも再度ダウンロードする必要があるかどうかを示す VT_BOOL を受け取ります。VARIANT_TRUE はトラックをダウンロードする必要があることを示し、VARIANT_FALSE はトラックをダウンロードする必要がないことを示します。

g_szContentPartnerInfo_MaximumTrackPurchasePerPurchase

pData パラメーターは、オンラインストアが IWMPContentPartner::Buy の 1 回の呼び出しで処理できるトラックの最大数を示す VT_UI4 を受け取ります。最大数がない場合、pData は値 0 を受け取ります。

g_szContentPartnerInfo_AccountBalance

pData パラメーターは、ユーザーのアカウント残高を示す VT_BSTR を受け取ります。Windows Media Player はこの文字列を表示しますが、解釈はしません。

g_szContentPartnerInfo_UserName

pData パラメーターは、現在ログインしているユーザーのユーザー名を示す VT_BSTR を受け取ります。Windows Media Player はこの文字列を表示しますが、解釈はしません。

vtbl 7 HRESULT GetCommands(LPWSTR location, VARIANT* pLocationContext, LPWSTR itemLocation, DWORD cItemIDs, DWORD* prgItemIDs, DWORD* pcItemIDs, WMPContextMenuInfo** pprgItems)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。GetCommands メソッドは、コンテキストメニューのコマンドを取得します。

locationLPWSTRinユーザーが右クリックしたライブラリビューの種類を指定する ライブラリ位置定数。たとえば、定数 g_szCPGenreID は、ユーザーが特定のジャンルのビューで右クリックしたことを示します
pLocationContextVARIANT*inユーザーが右クリックした特定のビューの ID。たとえば、location が g_szCPGenreID の場合、このパラメーターはユーザーが右クリックしたときに表示していた特定のジャンルの ID です。
itemLocationLPWSTRinユーザーが右クリックしたときに選択されていたメディア項目の種類を示すライブラリ位置定数。たとえば、定数 g_szCPAlbumID は、1 つ以上のアルバムが選択された状態でユーザーが右クリックしたことを指定します。
cItemIDsDWORDinユーザーが右クリックしたときに選択されていた項目の数。これは prgItemIDs 配列の要素数です。
prgItemIDsDWORD*inユーザーが右クリックしたときに選択されていたメディア項目の ID を格納する配列。
pcItemIDsDWORD*outpprgItems 配列の要素数。
pprgItemsWMPContextMenuInfo**outWMPContextMenuInfo 構造体の配列へのポインターを受け取る変数のアドレス。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

このメソッドは、pprgItems で返す配列を割り当てるために CoTaskMemAlloc を呼び出す必要があります。

vtbl 8 HRESULT InvokeCommand(DWORD dwCommandID, LPWSTR location, VARIANT* pLocationContext, LPWSTR itemLocation, DWORD cItemIDs, DWORD* rgItemIDs)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。InvokeCommand メソッドは、コンテキストメニューのコマンドを呼び出します。

dwCommandIDDWORDin呼び出すコマンドの ID。Windows Media Player は、IWMPContentPartner::GetCommands を呼び出すことによって、このコマンド ID をコンテンツパートナープラグインから事前に取得しています。
locationLPWSTRinユーザーが右クリックしたライブラリビューの種類を指定するライブラリ位置定数。たとえば、定数 g_szCPGenreID は、ユーザーが特定のジャンルのビューで右クリックしたことを指定します。
pLocationContextVARIANT*inユーザーが右クリックした特定のビューの ID。たとえば、location が g_szCPGenreID の場合、このパラメーターはユーザーが右クリックしたときに表示していた特定のジャンルの ID です。
itemLocationLPWSTRinユーザーが右クリックしたときに選択されていたメディア項目の種類を指定するライブラリ位置定数。たとえば、定数 g_szCPAlbumID は、1 つ以上のアルバムが選択された状態でユーザーが右クリックしたことを指定します。
cItemIDsDWORDinユーザーが右クリックしたときに選択されていた項目の数。これは rgItemIDs 配列の要素数です。
rgItemIDsDWORD*inユーザーが右クリックしたときに選択されていたメディア項目の ID を格納する配列。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 9 HRESULT CanBuySilent(IWMPContentContainerList* pInfo, LPWSTR* pbstrTotalPrice, VARIANT_BOOL* pSilentOK)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

pInfoIWMPContentContainerList*inoptional購入するコンテンツを表すコンテンツコンテナーリストへのポインター。
pbstrTotalPriceLPWSTR*out合計金額を受け取る BSTR へのポインター。
pSilentOKVARIANT_BOOL*out購入をサイレントに (つまりダイアログボックスを表示せずに) 続行できる場合は VARIANT_TRUE を受け取ります。それ以外の場合は VARIANT_FALSE を受け取ります。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

pbstrTotalPrice で返される文字列の形式は、オンラインストアのみが把握しています。Windows Media Player は価格文字列を表示しますが、解釈はしません。Windows Media Player とコンテンツパートナープラグインが価格情報を交換する方法の詳細については、Purchasing Media Content を参照してください。

vtbl 10 HRESULT Buy(IWMPContentContainerList* pInfo, DWORD cookie)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。Buy メソッドは、デジタルメディアコンテンツの購入を開始します。

pInfoIWMPContentContainerList*inoptional購入するコンテンツを表すコンテンツコンテナーリストへのポインター。
cookieDWORDinトランザクションを識別するために使用される Cookie。この値を保存し、購入トランザクションの完了時に IWMPContentPartnerCallback::BuyComplete に渡す必要があります。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

Buy の各呼び出しに対して、IWMPContentPartnerCallback::BuyComplete を必ず 1 回だけ呼び出す必要があります。何らかの理由で失敗した場合でも、トランザクションの完了時に BuyComplete を呼び出してください。

ユーザーが以前に購入したコンテンツのライセンスの有効期限が切れている場合は、単純にライセンスを更新できます。

vtbl 11 HRESULT GetStreamingURL(WMPStreamingType st, VARIANT* pStreamContext, LPWSTR* pbstrURL)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。GetStreamingURL メソッドは、トラックのストリーミング URL を取得します。

stWMPStreamingTypeinストリーミングするメディア項目の種類 (音楽、ビデオ、またはラジオ) を指定する WMPStreamingType 列挙型のメンバー。
pStreamContextVARIANT*inストリーミングするメディア項目の ID を格納する VARIANT へのポインター。ID は VARIANTulVal メンバーに格納されており、その型は VT_UI4 です。
pbstrURLLPWSTR*outトラックの URL を受け取る BSTR のアドレス。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 12 HRESULT Download(IWMPContentContainerList* pInfo, DWORD cookie)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。Download メソッドは、一連のメディア項目のダウンロードを開始します。

pInfoIWMPContentContainerList*inoptionalダウンロードするコンテンツを記述する IWMPContentContainerList インターフェイスへのポインター。
cookieDWORDinダウンロード要求を表す Cookie。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

このメソッドは、pInfo で渡されたコンテナーリストを検査するプロセスを開始し、すぐに制御を返します。プラグインはコンテナーリストを検査しながら、コンテナーリスト内の各トラックに対して IWMPContentPartnerCallback::DownloadTrack を 1 回ずつ呼び出します。ダウンロード手順の詳細については、Downloading Media Content を参照してください。

vtbl 13 HRESULT DownloadTrackComplete(HRESULT hrResult, DWORD contentID, LPWSTR downloadTrackParam)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

hrResultHRESULTinダウンロードの成功または失敗を示す HRESULT。成功コードは Player がトラックのダウンロードに成功したことを示します。失敗コードは Player がトラックのダウンロードに失敗したことを示します。
contentIDDWORDin対象となるトラックのコンテンツ ID。
downloadTrackParamLPWSTRinプラグインが以前に IWMPContentPartnerCallback::DownloadTrack に渡したパラメーター。このパラメーターはオンラインストアにとってのみ意味を持ち、Windows Media Player によって解釈されることはありません。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

Player とプラグインが連携して一連のトラックをダウンロードする方法については、Downloading Media Content を参照してください。

vtbl 14 HRESULT RefreshLicense(DWORD dwCookie, VARIANT_BOOL fLocal, LPWSTR bstrURL, WMPStreamingType type, DWORD contentID, LPWSTR bstrRefreshReason, VARIANT* pReasonContext)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。RefreshLicense メソッドは、指定されたメディアファイルのライセンスの更新を開始します。

dwCookieDWORDin更新要求を識別する Cookie。オンラインストアがライセンスの更新を完了すると、この Cookie を IWMPContentPartnerCallback::RefreshLicenseComplete に渡します。
fLocalVARIANT_BOOLinメディアファイルがユーザーのコンピューター上にあるかどうかを指定する VARIANT_BOOLVARIANT_TRUE はファイルがユーザーのコンピューター上にあることを指定します。VARIANT_FALSE はファイルが現在ユーザーのコンピューター上にはないが、オンラインストアのサーバーから入手できることを指定します。
bstrURLLPWSTRinoptionalユーザーのコンピューター上のメディアファイルの URL を格納する BSTR。メディアファイルがユーザーのコンピューター上にない場合、これは NULL です。
typeWMPStreamingTypeinメディアファイルの種類 (音楽、ビデオ、またはラジオ) を指定する WMPStreamingType 列挙型のメンバー。
contentIDDWORDin更新されたライセンスが要求されているメディアファイルのコンテンツ ID。
bstrRefreshReasonLPWSTRin

ライセンスを更新する理由。呼び出し元 (Windows Media Player) は、このパラメーターを次のいずれかの値に設定します。

g_szRefreshLicensePlay

g_szRefreshLicenseBurn

g_szRefreshLicenseSync

pReasonContextVARIANT*inデバイスへの同期のためにライセンスを更新する場合、このパラメーターは VT_BSTR 型で、デバイス名を格納します。それ以外の場合、このパラメーターは VT_EMPTY 型で、情報を提供しません。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

このメソッドはユーザーインターフェイスを表示してはなりません。

このメソッドはライセンスの更新を開始し、すぐに制御を返します。オンラインストアがライセンスの更新を完了すると、オンラインストアのプラグインは IWMPContentPartnerCallback::RefreshLicenseComplete を呼び出します。

vtbl 15 HRESULT GetCatalogURL(DWORD dwCatalogVersion, DWORD dwCatalogSchemaVersion, DWORD catalogLCID, DWORD* pdwNewCatalogVersion, LPWSTR* pbstrCatalogURL, VARIANT* pExpirationDate)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

dwCatalogVersionDWORDin現在のカタログバージョンを格納する DWORD
dwCatalogSchemaVersionDWORDin現在のカタログスキーマバージョンを格納する DWORD
catalogLCIDDWORDinカタログのロケール ID (LCID)。
pdwNewCatalogVersionDWORD*out新しいカタログバージョンを受け取る DWORD のアドレス。
pbstrCatalogURLLPWSTR*outURL を受け取る BSTR のアドレス。
pExpirationDateVARIANT*outカタログ更新の有効期限を受け取る VARIANT (VT_DATE) のアドレス。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

カタログ URL では、パスの一部としてバージョンを指定することをお勧めします。たとえば、http://www.contoso.com/Catalogs/210/catalog.wmdb のようにします。

vtbl 16 HRESULT GetTemplate(WMPTaskType task, LPWSTR location, VARIANT* pContext, LPWSTR clickLocation, VARIANT* pClickContext, LPWSTR bstrFilter, LPWSTR bstrViewParams, LPWSTR* pbstrTemplateURL, WMPTemplateSize* pTemplateSize)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

taskWMPTaskTypeinアクティブなタスクペインを指定する WMPTaskType 列挙型のメンバー。
locationLPWSTRinユーザーが現在表示しているライブラリビューの種類を指定する ライブラリ位置定数。たとえば、定数 g_szCPListID は、ユーザーが特定のプレイリストを表示するペインを表示していることを指定します。
pContextVARIANT*inユーザーが現在表示している特定の項目の ID。たとえば、location が g_szCPListID の場合、このパラメーターはユーザーが表示している特定のプレイリストの ID を指定します。
clickLocationLPWSTRinユーザーが選択した項目の種類を指定するライブラリ位置定数。たとえば、定数 g_szCPTrackID は、ユーザーが特定の音楽トラックを選択したことを指定します。
pClickContextVARIANT*inユーザーが選択した特定の項目の ID。たとえば、clickLocation が g_szCPTrackID の場合、このパラメーターはユーザーが選択した特定のトラックの ID を指定します。
bstrFilterLPWSTRin現在のライブラリビューのフィルター。これは、ユーザーが Player のワードホイールコントロールに入力したテキストです。
bstrViewParamsLPWSTRin新しいライブラリ位置に関連付けられた、オンラインストアにとってのみ意味を持つパラメーター。「解説」を参照してください。
pbstrTemplateURLLPWSTR*out表示するディスカバリーページの URL を受け取る BSTR へのポインター。
pTemplateSizeWMPTemplateSize*outPlayer がディスカバリーページを表示するテンプレートのサイズを示す WMPTemplateSize 列挙型のメンバーを受け取ります。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

Windows Media Player は、ライブラリ同期、または 書き込み ペインでビューが変化したときにこのメソッドを呼び出します。また、Player はこれら 3 つのペインのいずれかがアクティブになったときにもこのメソッドを呼び出します。ペインまたはビューは、ユーザーのナビゲーションの結果として、またはディスカバリーページからの呼び出しの結果として変化することがあります。

ディスカバリーページが External.changeView を呼び出すとき、ViewParams パラメーターに、新しいビューに関連付けたい任意のコンテキストを設定します。Windows Media Player はそのコンテキストを GetTemplatebstrViewParams パラメーターでプラグインに渡します。

ディスカバリーページが External.changeViewOnlineList を呼び出すとき、Params パラメーターに、新しいビューに関連付けたい任意のコンテキストを設定します。Windows Media Player はそのコンテキストを GetTemplatebstrViewParams パラメーターでプラグインに渡します。

ユーザーのナビゲーションの結果としてビューが変化する場合、Windows Media Player は GetTemplate を呼び出す際に bstrParams パラメーターを NULL に設定します。

Windows Media Player は、新しいビューに表示すべきディスカバリーページの URL を取得するために GetTemplate を呼び出します。また、Player は、新しいビューのどの部分をディスカバリーページが占めるべきかを示す WMPTemplateSize 値も受け取ります。

vtbl 17 HRESULT UpdateDevice(LPWSTR bstrDeviceName)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

bstrDeviceNameLPWSTRinデバイス名を格納する BSTR

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

成功コードを返す UpdateDevice の各呼び出しに対して、IWMPContentPartnerCallback::UpdateDeviceComplete を必ず 1 回だけ呼び出す必要があります。

vtbl 18 HRESULT GetListContents(LPWSTR location, VARIANT* pContext, LPWSTR bstrListType, LPWSTR bstrParams, DWORD dwListCookie)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。GetListContents メソッドは、動的リストの取得を開始します。

locationLPWSTRinリストが取得されるライブラリビューの種類を指定するライブラリ位置定数。たとえば、定数 g_szCPListID は、特定のリストが取得されることを指定します。
pContextVARIANT*inリストが取得される特定の項目の ID。たとえば、location が g_szCPListID の場合、このパラメーターは取得されるリストの ID です。
bstrListTypeLPWSTRin個々のリスト項目の種類を指定するライブラリ位置定数。たとえば、定数 g_szCPAlbumID は、リスト内の項目がアルバムであることを指定します。
bstrParamsLPWSTRin取得されるリストに関連付けられた、オンラインストアにとってのみ意味を持つパラメーター。「解説」を参照してください。
dwListCookieDWORDinリストの取得操作を識別するために使用される Cookie。(プラグインはこの Cookie を IWMPContentPartnerCallback::AddListContents および IWMPContentPartnerCallback::ListContentsComplete に渡します。)

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

リストの内容を取得する操作は非同期操作です。このメソッドは取得を開始し、すぐに制御を返す必要があります。その後、プラグインは要求されたリストの内容を Windows Media Player に提供するために、IWMPContentPartnerCallback::AddListContents を 1 回以上呼び出す必要があります。プラグインがすべてのデータを提供したら、操作の終了を示すために IWMPContentPartnerCallback::ListContentsComplete を呼び出す必要があります。いずれの場合も、プラグインは正しいリスト取得セッションを識別するために、dwListCookie で提供された Cookie を渡します。

vtbl 19 HRESULT Login(BLOB userInfo, BLOB pwdInfo, VARIANT_BOOL fUsedCachedCreds, VARIANT_BOOL fOkToCache)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。Login メソッドは、ユーザーをオンラインストアにログインさせます。

userInfoBLOBinユーザー名を格納する暗号化された BLOB
pwdInfoBLOBinユーザーのパスワードを格納する暗号化された BLOB
fUsedCachedCredsVARIANT_BOOLinプラグインがキャッシュされた資格情報の使用を試みるべきかどうかを示す VARIANT_BOOL
fOkToCacheVARIANT_BOOLinプラグインが提供された資格情報をキャッシュすることが許可されているかどうかを示す VARIANT_BOOL

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

通常、このメソッドは、オンラインストアにログインするというユーザーからの明示的な要求に応じて呼び出されます。更新されたライセンスを必要とする音楽ファイルの書き込みなど、他のユーザー操作によってログインの必要性が示される場合もあります。

プラグインは、ログイン状態が変化したときに Windows Media Player に通知するために IWMPContentPartnerCallback::Notify を呼び出す必要があります。

ユーザー名とパスワードを復号化するには、CryptUnprotectData 関数を使用します。CryptUnprotectData は Platform SDK の暗号化 (Cryptography) セクションに記載されています。CryptUnprotectDatadwFlags パラメーターには CRYPTPROTECT_UI_FORBIDDEN フラグを使用する必要があります。省略可能なパラメーターと予約済みパラメーターは NULL に設定してください。

vtbl 20 HRESULT Authenticate(BLOB userInfo, BLOB pwdInfo)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。Authenticate メソッドは、ユーザーを認証する試みを開始します。

userInfoBLOBin暗号化されたユーザー情報を格納する BLOB
pwdInfoBLOBin暗号化されたパスワード情報を格納する BLOB

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

ディスカバリーページ上の特定のリンクには、ユーザーが認証された後にのみ表示すべきターゲットがあります。ディスカバリーページ、Windows Media Player、およびオンラインストアのプラグインは、次の手順を使用してユーザーを認証し、ターゲット Web ページを表示します。

  1. ディスカバリーページ上のスクリプトが External.authenticate メソッドを呼び出します。
  2. Windows Media Player が、ユーザー名とパスワードを取得するためのダイアログボックスを表示します。
  3. Windows Media Player が IWMPContentPartner::Authenticate を呼び出します。これにより認証の試みが開始され、すぐに制御が返されます。
  4. 認証の試みが完了すると、オンラインストアのプラグインは wmpcnAuthResult と、試みが成功したかどうかを示すブール値を渡して IWMPContentPartnerCallback::Notify を呼び出します。
  5. 認証の試みが成功した場合、Windows Media Player は認証成功 Web ページの URL を取得するために、g_szItemInfo_AuthenticationSuccessURL を渡して IWMPContentPartner::GetItemInfo を呼び出します。この呼び出しで、Windows Media Player は、ディスカバリーページが External.authenticate メソッドに渡したものと同じインデックスを渡します。
  6. Windows Media Player が認証成功 Web ページを表示します。
userInfopwdInfo で提供された情報を復号化するには、CryptUnprotectData 関数を使用します。この関数は Windows SDK の暗号化 (Cryptography) セクションに記載されています。dwFlags パラメーターには CRYPTPROTECT_UI_FORBIDDEN フラグを設定する必要があります。省略可能なパラメーターと予約済みパラメーターは NULL に設定してください。
vtbl 21 HRESULT Logout()

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。Logout メソッドは、ユーザーのオンラインストアセッションを終了します。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

プラグインは、ログイン状態が変化したときに Windows Media Player に通知するために IWMPContentPartnerCallback::Notify を呼び出す必要があります。

Logout メソッドは、キャッシュされた資格情報をすべて削除する必要があります。

vtbl 22 HRESULT SendMessage(LPWSTR bstrMsg, LPWSTR bstrParam)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。SendMessage メソッドは、ディスカバリーページがプラグインにメッセージを送信できるようにします。

bstrMsgLPWSTRinメッセージを格納する BSTR
bstrParamLPWSTRinメッセージのパラメーターを格納する BSTR

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

プラグインは、メッセージが処理されたことを Windows Media Player に通知するために IWMPContentPartnerCallback::SendMessageComplete を呼び出す必要があります。これにより、ディスカバリーページで OnSendMessageComplete イベントが発生します。

vtbl 23 HRESULT StationEvent(LPWSTR bstrStationEventType, DWORD StationId, DWORD PlaylistIndex, DWORD TrackID, LPWSTR TrackData, DWORD dwSecondsPlayed)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

bstrStationEventTypeLPWSTRin

イベントの種類を格納する BSTR。呼び出し元 (Windows Media Player) は、このパラメーターを次のいずれかの値に設定します。

文字列 説明
g_szStationEvent_Started トラックの再生が開始されました。
g_szStationEvent_Complete トラックの再生が終了しました。
g_szStationEvent_Skipped トラックがスキップされました。
StationIdDWORDinステーション ID。
PlaylistIndexDWORDinプレイリストのインデックス。
TrackIDDWORDinトラック ID。
TrackDataLPWSTRinトラックデータを格納する BSTR
dwSecondsPlayedDWORDinプレイリストが再生された秒数。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

このメソッドは、オンラインストアが作成した ASX ファイルが再生されるときに、特定の ASX イベントのログ記録を可能にするために呼び出されます。

vtbl 24 HRESULT CompareContainerListPrices(IWMPContentContainerList* pListBase, IWMPContentContainerList* pListCompare, INT* pResult)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。この機能をオンラインストアのコンテキスト以外で使用することはサポートされていません。CompareContainerListPrices メソッドは、2 つのコンテンツコンテナーリストの価格を比較します。

pListBaseIWMPContentContainerList*inoptional基準となるコンテンツコンテナーリストを表す IWMPContentContainerList インターフェイスへのポインター。
pListCompareIWMPContentContainerList*inoptional比較対象のコンテンツコンテナーリストを表す IWMPContentContainerList インターフェイスへのポインター。
pResultINT*out比較結果を受け取る long のアドレス。基準価格が比較価格より小さい場合は 0 未満の値を返し、基準リストと比較リストの価格が等しい場合は 0 を返し、基準価格が比較価格より大きい場合は 0 より大きい値を返します。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 25 HRESULT VerifyPermission(LPWSTR bstrPermission, VARIANT* pContext)

注 このセクションでは、オンラインストアでの使用を目的として設計された機能について説明します。

bstrPermissionLPWSTRin許可が要求されているアクションを指定する BSTR。有効な値の一覧については「解説」を参照してください。
pContextVARIANT*in要求に関連する情報を格納する VARIANT へのポインター。「解説」を参照してください。

戻り値

このメソッドは HRESULT を返します。有効な値には次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

VerifyPermission メソッドは、許可の検証を開始し、すぐに制御を返します。オンラインストアが検証を完了すると、許可が付与されたか拒否されたかを Windows Media Player に通知するために IWMPContentPartnerCallback::VerifyPermissionComplete を呼び出します。

次の一覧は、bstrPermission に指定できる値と、それに対応する pContext の意味を示しています。

g_szVerifyPermissionSync

Windows Media Player は、ポータブルデバイス上のコンテンツを同期するための許可をオンラインストアに要求しています。pContext パラメーターは、正規のデバイス名を指定する VT_BSTR です。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWMPContentPartner "{55455073-41B5-4E75-87B8-F13BDB291D08}"
#usecom global IWMPContentPartner IID_IWMPContentPartner "{}"
#comfunc global IWMPContentPartner_SetCallback                 3 sptr
#comfunc global IWMPContentPartner_Notify                      4 int,var
#comfunc global IWMPContentPartner_GetItemInfo                 5 wstr,var,var
#comfunc global IWMPContentPartner_GetContentPartnerInfo       6 wstr,var
#comfunc global IWMPContentPartner_GetCommands                 7 wstr,var,wstr,int,var,var,var
#comfunc global IWMPContentPartner_InvokeCommand               8 int,wstr,var,wstr,int,var
#comfunc global IWMPContentPartner_CanBuySilent                9 sptr,var,var
#comfunc global IWMPContentPartner_Buy                         10 sptr,int
#comfunc global IWMPContentPartner_GetStreamingURL             11 int,var,var
#comfunc global IWMPContentPartner_Download                    12 sptr,int
#comfunc global IWMPContentPartner_DownloadTrackComplete       13 int,int,wstr
#comfunc global IWMPContentPartner_RefreshLicense              14 int,int,wstr,int,int,wstr,var
#comfunc global IWMPContentPartner_GetCatalogURL               15 int,int,int,var,var,var
#comfunc global IWMPContentPartner_GetTemplate                 16 int,wstr,var,wstr,var,wstr,wstr,var,var
#comfunc global IWMPContentPartner_UpdateDevice                17 wstr
#comfunc global IWMPContentPartner_GetListContents             18 wstr,var,wstr,wstr,int
#comfunc global IWMPContentPartner_Login                       19 int,int,int,int
#comfunc global IWMPContentPartner_Authenticate                20 int,int
#comfunc global IWMPContentPartner_Logout                      21
#comfunc global IWMPContentPartner_SendMessage                 22 wstr,wstr
#comfunc global IWMPContentPartner_StationEvent                23 wstr,int,int,int,wstr,int
#comfunc global IWMPContentPartner_CompareContainerListPrices  24 sptr,sptr,var
#comfunc global IWMPContentPartner_VerifyPermission            25 wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。