类型 2 在线商店的注册表项和条目

[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

注意

本部分介绍专为在线商店使用而设计的功能。 不支持在在线商店的上下文之外使用此功能。

若要使类型 2 在线商店在 Windows 媒体播放器 中可用,在线商店提供程序必须在用户的计算机上创建以下注册表子项和条目。

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

[HKEY_CLASSES_ROOT\CLSID\clsid]
@=className

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

在前面的注册表语法中,斜体符号是特定于在线商店的名称和全局唯一标识符的占位符 (GUID) 。 下表介绍了这些占位符。

占位符 说明
keyName Microsoft 与在线商店之间商定的字符串。 此字符串唯一标识在线商店。示例:“Proseware”
flag 一个或多个插件功能标志的按位 OR 这些标志指定Windows 媒体播放器是否应调用 IWMPSubscriptionServiceIWMPSubscriptionService2 的特定方法。 有关支持的标志的信息,请参阅此表后面的插件功能标志表。示例:00000037
clsid 在在线商店插件中实现 IWMPSubscriptionService 的类 (CLSID) 的 GUID。 此 GUID 必须采用注册表格式,并带有大括号。格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
friendlyname 在线商店的友好名称。示例:“Proseware Music Service”
pluginName 在线商店插件的名称。示例:“Proseware 服务插件”
className 在在线商店的插件中实现 IWMPSubscriptionService 的类的名称。示例:“CProsewareService”
moduleName 实现在线商店插件的 DLL 的完全限定路径。示例:“C:\Program Files\Proseware\ProsewareService.dll”

下表介绍了插件功能标志。

标志 说明
SUBSCRIPTION_CAP_ALLOWPLAY 0X1 Windows 媒体播放器应调用 IWMPSubscriptionService::allowPlay
SUBSCRIPTION_CAP_ALLOWCDBURN 0X2 Windows 媒体播放器应调用 IWMPSubscriptionService::allowCDBurn
SUBSCRIPTION_CAP_ALLOWPDATRANSFER 0X4 Windows 媒体播放器应调用 IWMPSubscriptionService::allowPDATransfer
SUBSCRIPTION_CAP_BACKGROUNDPROCESSING 0X8 Windows 媒体播放器应调用 IWMPSubscriptionService::startBackgroundProcessing
SUBSCRIPTION_CAP_DEVICEAVAILABLE 0X10 Windows 媒体播放器应调用 IWMPSubscriptionService2::d eviceAvailable
SUBSCRIPTION_CAP_PREPAREFORSYNC 0X20 Windows 媒体播放器应调用 IWMPSubscriptionService2::p repareForSync
SUBSCRIPTION_V1_CAPS 0XF 默认。 如果未注册任何值,则使用此值。 这相当于将SUBSCRIPTION_CAP_ALLOWPLAY、SUBSCRIPTION_CAP_ALLOWCDBURN、SUBSCRIPTION_CAP_ALLOWPDATRANSFER和SUBSCRIPTION_CAP_BACKGROUNDPROCESSING组合在一起。

用于开发和测试的注册表项

当你开始开发在线商店时,Microsoft 会提供两个密钥:一个测试密钥和一个生产密钥。 在开发和测试阶段,仅当测试密钥或生产密钥位于用户计算机上的注册表中时,您的在线商店才会显示在 Windows 媒体播放器 中。 有关测试和生产密钥的详细信息,请参阅 Type 2 Online Store 的测试和生产密钥

将测试或生产密钥放在注册表中的以下位置。

[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 是字符串的占位符,其中包含有关活动在线商店的描述性信息。

类型 2 在线商店的参考