Разделы реестра и записи для интернет-магазина типа 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 — это заполнитель строки, содержащей описательные сведения о активном интернет-магазине.