類型 1 Online Store 的登錄機碼和專案

[與此頁面相關聯的功能Windows 媒體播放機 SDK是舊版功能。 MediaPlayer已取代它。 MediaPlayer已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用MediaPlayer,而不是Windows 媒體播放機 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

若要在 Windows 媒體播放機 中使用類型 1 線上商店,線上商店提供者必須在使用者的電腦上建立下列登錄子機碼和專案。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Subscriptions\keyName]
"Capabilities"=dword:flags
"SubscriptionObjectGUID"=clsid
"FriendlyName"=friendlyName

[HKEY_CLASSES_ROOT\AppID\appid]
@=pluginName
"DllSurrogate"=""

[HKEY_CLASSES_ROOT\CLSID\clsid]
@=className
"AppID"="appid"

[HKEY_CLASSES_ROOT\CLSID\clsid\InprocServer32]
@=moduleName
"ThreadingModel"="threading"

注意

將 DllSurrogate 的值設定為空字串表示 COM 執行時間會將線上商店外掛程式載入預設 DLL Surrogate,dllhost.exe。

在上述登錄語法中,斜體中的符號是名稱與全域唯一識別碼的預留位置, (GUID) 是線上商店特有的。 下表描述這些預留位置。

預留位置 描述
keyName Microsoft 與線上商店之間同意的字串。 此字串可唯一識別線上商店。範例:「Proseware」
flags 一個或多個外掛程式功能的位OR旗標這些旗標會指定Windows 媒體播放機是否應該呼叫IWMPContentPartner的特定方法。 如需支援旗標的資訊,請參閱下表後面的外掛程式功能旗標資料表。範例:00000058
Clsid GUID,這是在線上商店外掛程式中實作 IWMPContentPartner 之類別的類別識別碼 (CLSID) 。 此 GUID 必須採用登錄格式,以大括弧完成。格式: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
friendlyname 線上商店的易記名稱。範例:「Proseware Music Service」
appid GUID,這是線上商店外掛程式的應用程式識別碼 (AppID) 。 此 GUID 必須採用登錄格式,以大括弧完成。格式: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
pluginName 線上商店外掛程式的名稱。範例:「Proseware 內容夥伴外掛程式」
className 在線上商店外掛程式中實作 IWMPContentpartner 的類別名稱。範例:「CProsewarePartner」
moduleName 實作線上商店外掛程式之 DLL 的完整路徑。範例:「C:\Program Files\Proseware\ProsewarePartner.dll」
執行緒 外掛程式執行的 Apartment 類型。 「ThreadingModel」=「Apartment」 表示外掛程式會在單一線程 Apartment 中執行 (STA) 。 「ThreadingModel」=「Free」 表示外掛程式會在多執行緒 Apartment (MTA) 中執行。

下表描述外掛程式功能旗標。

旗標 描述
SUBSCRIPTION_CAP_BACKGROUNDPROCESSING 0x8 Windows 媒體播放機應該呼叫IWMPContentPartner::Notify 來通知外掛程式何時應該啟動和停止背景處理。
SUBSCRIPTION_CAP_DEVICEAVAILABLE 0x10 Windows 媒體播放機應該呼叫IWMPContentPartner::UpdateDevice
SUBSCRIPTION_CAP_IS_CONTENTPARTNER 0x40 通知Windows 媒體播放機外掛程式會實作IWMPContentPartner介面。 所有類型 1 線上商店外掛程式都必須設定此旗標。
SUBSCRIPTION_CAP_ALTLOGIN 0x80 通知Windows 媒體播放機外掛程式支援替代登入。 如果外掛程式支援替代登入,Windows 媒體播放機藉由呼叫IWMPContentPartner::GetItemInfo來擷取替代登入 URL 並標題。

開發和測試的登錄專案

當您開始開發線上商店時,Microsoft 會提供兩個金鑰:測試金鑰和生產金鑰。 在開發和測試階段期間,只有當測試金鑰或生產金鑰位於使用者電腦上的登錄中時,您的線上商店才會出現在Windows 媒體播放機中。 如需測試和生產金鑰的詳細資訊,請參閱 類型 1 線上商店的測試與生產金鑰

將您的測試或生產金鑰放在登錄的下列位置。

[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Services]
"TestParameter" = "key1;key2;...;keyN"

請注意,TestParameter 登錄專案的值可以指定多個測試或生產金鑰。 例如,假設 Proseware 具有 「1234」 的測試金鑰,而 Contoso 具有 「2345」 的測試金鑰。 下列登錄專案會指定 Proseware 和 Contoso 的測試存放區會出現在Windows 媒體播放機中。

[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Services]
"TestParameter" = "1234;2345"

ActiveService 登錄專案

當使用者啟動線上商店時,Windows 媒體播放機在登錄中寫入可識別作用中線上商店的資訊。 Windows 媒體播放機將資訊放在使用者電腦上的登錄中下列位置。

[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Subscriptions]
"ActiveService"=serviceInfo

在上述登錄語法中, serviceInfo 是字串的預留位置,其中包含作用中線上商店的描述性資訊。

類型 1 線上商店的參考