Registry Keys and Entries for a Type 2 Online Store
[The feature associated with this page, Windows Media Player SDK, is a legacy feature. It has been superseded by MediaPlayer. MediaPlayer has been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer instead of Windows Media Player SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
Note
This section describes functionality designed for use by online stores. Use of this functionality outside the context of an online store is not supported.
To make a type 2 online store available in Windows Media Player, the online store provider must create the following registry subkeys and entries on the user's computer.
[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"
In the preceding registry syntax, the symbols in italic are placeholders for names and globally unique identifiers (GUIDs) that are specific to the online store. The following table describes those placeholders.
Placeholder | Description |
---|---|
keyName | A string agreed upon between Microsoft and the online store. This string uniquely identifies the online store.Example: "Proseware" |
flags | A bitwise OR of one or more plug-in capability flags These flags specify whether Windows Media Player should call particular methods of IWMPSubscriptionService and IWMPSubscriptionService2. For information about supported flags, see the table of plug-in capability flags that follows this table.Example: 00000037 |
clsid | A GUID that is the class identifier (CLSID) for the class that implements IWMPSubscriptionService in the online store's plug-in. This GUID must be in registry format, complete with the curly braces.Format: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} |
friendlyname | A friendly name for the online store.Example: "Proseware Music Service" |
pluginName | A name for the online store's plug-in.Example: "Proseware Service Plug-in" |
className | The name of the class that implements IWMPSubscriptionService in the online store's plug-in.Example: "CProsewareService" |
moduleName | The fully qualified path to the DLL that implements the online store's plug-in.Example: "C:\Program Files\Proseware\ProsewareService.dll" |
The following table describes the plug-in capability flags.
Flag | Value | Description |
---|---|---|
SUBSCRIPTION_CAP_ALLOWPLAY | 0X1 | Windows Media Player should call IWMPSubscriptionService::allowPlay. |
SUBSCRIPTION_CAP_ALLOWCDBURN | 0X2 | Windows Media Player should call IWMPSubscriptionService::allowCDBurn. |
SUBSCRIPTION_CAP_ALLOWPDATRANSFER | 0X4 | Windows Media Player should call IWMPSubscriptionService::allowPDATransfer. |
SUBSCRIPTION_CAP_BACKGROUNDPROCESSING | 0X8 | Windows Media Player should call IWMPSubscriptionService::startBackgroundProcessing. |
SUBSCRIPTION_CAP_DEVICEAVAILABLE | 0X10 | Windows Media Player should call IWMPSubscriptionService2::deviceAvailable. |
SUBSCRIPTION_CAP_PREPAREFORSYNC | 0X20 | Windows Media Player should call IWMPSubscriptionService2::prepareForSync. |
SUBSCRIPTION_V1_CAPS | 0XF | Default. This value is used if none is registered. This is equivalent to combining SUBSCRIPTION_CAP_ALLOWPLAY, SUBSCRIPTION_CAP_ALLOWCDBURN, SUBSCRIPTION_CAP_ALLOWPDATRANSFER, and SUBSCRIPTION_CAP_BACKGROUNDPROCESSING. |
Registry Entries for Development and Testing
When you begin developing your online store, Microsoft provides you with two keys: a test key and a production key. During the development and testing phase, your online store will appear in Windows Media Player only if your test key or your production key is in the registry on the user's computer. For more information about the test and production keys, see Test and Production Keys for a Type 2 Online Store.
Place your test or production key in the following location in the registry.
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Services]
"TestParameter" = "key1;key2;...;keyN"
Note that the value of the TestParameter registry entry can specify multiple test or production keys. For example, suppose that Proseware has a test key of "1234" and Contoso has a test key of "2345". The following registry entry specifies that the test stores for Proseware and Contoso will appear in Windows Media Player.
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Services]
"TestParameter" = "1234;2345"
ActiveService Registry Entry
When the user activates an online store, Windows Media Player writes information in the registry that identifies the active online store. Windows Media Player places the information in the following location in the registry on the user's computer.
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Subscriptions]
"ActiveService"=serviceInfo
In the preceding registry syntax, serviceInfo is a placeholder for a string that contains descriptive information about the active online store.