Разделы реестра и записи для интернет-магазина типа 1

Чтобы сделать интернет-магазин типа 1 доступным в Медиаплеер Windows, поставщик интернет-магазина должен создать следующие подразделы реестра и записи на компьютере пользователя.

[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 по умолчанию dllhost.exe.

В приведенном выше синтаксисе реестра символы курсивом являются заполнителями для имен и глобальных уникальных идентификаторов (GUID), относящихся к интернет-магазину. В следующей таблице описаны эти заполнители.

Заполнитель Описание
keyName Строка, согласованная между корпорацией Майкрософт и интернет-магазином. Эта строка однозначно идентифицирует интернет-магазин. Пример: "Proseware"
flags Побитовое ИЛИ одного или нескольких флагов возможностей подключаемого модуля указывает, следует ли Медиаплеер Windows вызывать определенные методы IWMPContentPartner. Сведения о поддерживаемых флагах см. в таблице флагов возможностей подключаемого модуля, следующей за этой таблицей. Пример: 00000058
Clsid GUID, который является идентификатором класса (CLSID) для класса, реализующего IWMPContentPartner в подключаемом модуле интернет-магазина. Этот GUID должен быть в формате реестра, в комплекте с фигурными скобками. Формат: {xxxxx-xxxx-xxxx-xxxx-xxxx-xxxx}
Friendlyname Понятное имя для интернет-магазина. Пример: "Proseware Music Service"
appid GUID, который является идентификатором приложения (AppID) для подключаемого модуля интернет-магазина. Этот GUID должен быть в формате реестра, в комплекте с фигурными скобками. Формат: {xxxxx-xxxx-xxxx-xxxx-xxxx-xxxx}
имя подключаемого модуля Имя подключаемого модуля интернет-магазина. Пример: "Подключаемый модуль партнера по контенту Proseware"
className Имя класса, реализующего IWMPContentpartner в подключаемом модуле интернет-магазина. Пример: CProsewarePartner
имя модуля Полный путь к библиотеке DLL, реализующей подключаемый модуль интернет-магазина. Пример: "C:\Program Files\Proseware\ProsewarePartner.dll"
threading Тип квартиры, в которой выполняется подключаемый модуль. "ThreadingModel"="Apartment" указывает, что подключаемый модуль выполняется в однопотоковой квартире (STA). ThreadingModel"="Free" указывает, что подключаемый модуль выполняется в многопоточной квартире (MTA).

В следующей таблице описаны флаги возможностей подключаемого модуля.

Флаг Значение Описание
SUBSCRIPTION_CAP_BACKGROUNDPROCESSING 0x8 Медиаплеер Windows должен вызывать IWMPContentPartner::Notify to inform the plug-in when it should start and stop background processing.
SUBSCRIPTION_CAP_DEVICEAVAILABLE 0x10 Медиаплеер Windows должен вызывать IWMPContentPartner::UpdateDevice.
SUBSCRIPTION_CAP_IS_CONTENTPARTNER 0x40 Сообщает Медиаплеер Windows, что подключаемый модуль реализует интерфейс IWMPContentPartner. Все подключаемые модули интернет-магазина типа 1 должны устанавливать этот флаг.
SUBSCRIPTION_CAP_ALTLOGIN 0x80 Сообщает Медиаплеер Windows, что подключаемый модуль поддерживает альтернативное имя входа. Если подключаемый модуль поддерживает альтернативное имя входа, Медиаплеер Windows получает альтернативный URL-адрес входа и подпись путем вызова IWMPContentPartner::GetItemInfo.

Записи реестра для разработки и тестирования

При разработке интернет-магазина корпорация Майкрософт предоставляет два ключа: тестовый ключ и рабочий ключ. На этапе разработки и тестирования интернет-магазин будет отображаться в Медиаплеер 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