Как клиент DMRC выбирает пакет метаданных устройства

advertisement
Конвейер пакетов метаданных
устройств
28 сентября 2012 г.
Краткое содержание
В этом документе описано, как установить и использовать пакет метаданных
устройства для функций взаимодействия с устройствами под управлением
Windows 7 и Windows 8. Этот документ можно использовать как учебник и как
справочное руководство. Он содержит сведения о том, как установить пакет
метаданных, как исправить ошибки пакета метаданных устройства, каким
образом клиент получения метаданных устройства выбирает пакет метаданных
и использует кэш метаданных.
Эти сведения применимы к следующим операционным системам:
Windows 8
Windows 7
Приведенные ссылки и ресурсы также указаны списком в конце документа.
Текущая версия этого документа доступна в Интернете, см.:
Конвейер пакетов метаданных устройств
Заявление об отказе от ответственности. Данный документ предоставляется "как есть".
Сведения и мнения, приведенные в этом документе, включая URL-адреса и другие ссылки на вебсайты, могут быть изменены без предупреждения. Некоторые сведения относятся к
предварительной версии продукта, которая может быть существенно изменена перед
коммерческим выпуском. Корпорация Майкрософт не дает каких-либо гарантий, явных или
подразумеваемых, относительно сведений, содержащихся в настоящем документе. Вы
принимаете на себя риск, связанный с пользованием этим документом.
Некоторые примеры, описанные в настоящем документе, являются вымышленными и приведены
исключительно в демонстрационных целях. Примеры не рассчитаны на применение в реальных
условиях, и их не следует рассматривать как относящиеся к реальным ситуациям.
Настоящий документ не предоставляет пользователям права на интеллектуальную
собственность продуктов Майкрософт. Разрешается копирование и использование настоящего
документа только в справочных целях.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 2
История изменений документа
Дата
Изменение
28 сентября 2012 г. Обновлено в связи с изменением фирменной символики
27 июня 2012 г.
Обновлена информация о трассировке событий Windows
9 апреля 2012 г.
28 февраля 2012 г.
22 января 2010 г.
Обновлена терминология Windows 8
Обновлено для Windows 8 Consumer Preview
Замечено, что пользователь с учетной записью гостя не может
получить доступ к пакетам метаданных на сервере WMIS.
Добавлено руководство по использованию отдельного раздела
INF DDInstall, если устройство также установлено в версиях
Windows, выпущенных ранее Windows 7.
Добавлены сведения о кэше метаданных устройства DMRC.
Исправлены отладочные данные для работы с единственным
каналом просмотра событий (DeviceMetadata/Debug).
Исправлены имена XML-элементов
Исправлена ошибка в примере INF-файла с флагом
COPYFLG_NODECOMP
Добавлен раздел "Как клиент DMRC выбирает пакет метаданных
устройства"
Первая публикация
1 июля 2009 г.
1 июня 2009 г.
5 ноября 2008 г.
Содержание
Установка пакета метаданных устройства ................................................................. 4
Добавление пакетов метаданных в автономный образ Windows ...................... 4
Установка пакетов метаданных в работающем экземпляре Windows ............... 4
Установка пакета метаданных с сервера WMIS ................................................ 4
Установка пакетов метаданных с помощью приложения ............................... 5
Установка пакетов метаданных с помощью INF-файла в пакете драйвера ... 5
Применение пакета метаданных устройства в системе для тестирования ............ 7
Подпись пакета метаданных устройства и тестовый режим .................................... 7
Как клиент DMRC выбирает пакет метаданных устройства ..................................... 8
Порядок определения клиентом DMRC необходимости поиска на сервере WMIS11
Рекомендации по тестированию загрузки пакетов метаданных устройства13
Отладка процесса установки пакета метаданных устройства ................................ 14
Проверка установки пакета метаданных устройства .......................................... 14
Отладка в свойствах контейнера устройства при помощи Ddodiag.exe............ 14
Запуск Ddodiag.exe ............................................................................................. 14
Отладка с использованием трассировки событий Windows (ETW) в Windows 716
Просмотр событий трассировки событий Windows в канале
DeviceMetadata/Debug с помощью компонента "Просмотр событий" ........ 16
События трассировки событий Windows в канале DeviceMetadata/Debug .. 16
Отладка с использованием трассировки событий Windows (ETW) в Windows 818
Просмотр событий трассировки событий Windows в канале
DeviceMetadata/Debug с помощью компонента "Просмотр событий" ........ 18
События трассировки событий Windows в канале DeviceMetadata/Debug .. 19
Отладка с помощью отчетов о проблемах (Центр поддержки) ........................ 23
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 3
Просмотр отчета о проблемах в Центре поддержки ..................................... 23
Анализ отчета о проблемах .............................................................................. 24
Определение кода ошибки, связанной с метаданными устройства................. 24
Приложение ................................................................................................................ 25
Отладка установки устройства с использованием трассировки событий
Windows (ETW) в Windows 8.................................................................................. 25
Просмотр событий трассировки событий Windows, связанных с установкой
устройств, с помощью компонента "Просмотр событий" .............................. 26
События трассировки событий Windows, связанные с установкой устройств26
Глоссарий .................................................................................................................... 33
Ресурсы ........................................................................................................................ 35
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 4
Установка пакета метаданных устройства
Вы можете добавить пакеты метаданных устройств в автономный образ
Windows или установить дополнительные пакеты во время работы Windows.
Добавление пакетов метаданных в автономный образ Windows
Чтобы добавить пакеты метаданных устройств в автономный образ Windows,
скопируйте пакеты (например, GUID.devicemetadata-ms) в локальное хранилище
метаданных
(%PROGRAMDATA%\Microsoft\Windows\DeviceMetadataStore\<языковой_станда
рт>).
Замечания.

Вы должны создать папку <языковой_стандарт> в соответствии с
языковым стандартом пакета метаданных в локальном хранилище
метаданных, например %PROGRAMDATA%\Microsoft\Windows
\DeviceMetadataStore\RU-RU. Скопируйте соответствующий языку пакет
метаданных во вложенную папку. Например, скопируйте пакет
метаданных RU-RU во вложенную папку RU-RU, а пакет метаданных RU
— во вложенную папку RU.

Многоязыковые пакеты метаданных устройств также следует
скопировать в папку языкового стандарта. Языковый стандарт
определяется в файле packageinfo.xml, который используется только в
случае, когда пакет метаданных устройства загружается на компьютер с
Windows 7. Например, пакет нужно скопировать в папку RU-RU, если в
файле packageinfo.xml указан языковый стандарт RU-RU.
Установка пакетов метаданных в работающем экземпляре Windows
Вы можете установить пакеты метаданных устройств в работающем экземпляре
Windows тремя разными способами.

Установка пакетов метаданных с сервера служб WMIS.

Установка пакетов метаданных с помощью приложения.

Установка пакетов метаданных с помощью INF-файла в пакете драйвера
(мы не рекомендуем этот способ).
Во всех трех способах используются одни и те же фоновые процессы, и пакеты
метаданных копируются в локальное хранилище метаданных.
Установка пакета метаданных с сервера WMIS
Когда ОС Windows обнаруживает новое устройство, она отправляет запрос
пакета метаданных для этого устройства на доступный сервер WMIS. Если пакет
метаданных устройства доступен, клиент получения метаданных устройства
(DMRC), запущенный на локальном компьютере, загружает пакет с сервера
WMIS и устанавливает его на локальном компьютере.
Вы можете добавить свои метаданные на информационную панель областей
разработки оборудования и классических приложений в Центре разработки для
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 5
Windows. Общее представление о требованиях к эмблеме и их применимости к
отправляемым вами файлам можно получить по адресу
http://msdn.microsoft.com/library/c71750f4-885f-425a-a3ad-29740a1cb0bb. После
того как информационная панель проверит ваш пакет метаданных, он станет
доступен в службах WMIS для загрузки по запросам клиента DMRC,
выполняемым на каждом компьютере под управлением Windows 7.
Чтобы обеспечить поддержку сценария установки пакета метаданных устройства
с помощью сценария первой установки драйвера для нового оборудования, мы
рекомендуем использовать этот способ для предоставления пакетов
метаданных.
Примечание. Если пользователь входит на компьютер с помощью учетной
записи гостя, клиент DMRC не сможет получить пакеты метаданных устройства с
сервера WMIS для этого пользователя.
Установка пакетов метаданных с помощью приложения
Чтобы установить пакеты метаданных, ваше приложение или программа
установки должна выполнить следующие действия.
1. Получить путь к локальному хранилищу метаданных, вызвав
SHGetKnownFolderPath. Идентификатор knownfolderID для локального
хранилища метаданных — {5CE4A5E9-E4EB-479D-B89F-130C02886155}.
2. Скопировать пакет метаданных в локальное хранилище метаданных, вызвав
функцию CopyFile.
Замечания.
 Для копирования пакетов метаданных вам нужно иметь права
администратора.

Вы должны скопировать пакеты метаданных в соответствующую
языковому стандарту вложенную папку. Например, пакет метаданных
для RU-RU нужно скопировать во вложенную папку
%PROGRAMDATA%\Microsoft
\Windows\DeviceMetadataStore\RU-RU.

Если в локальном хранилище метаданных нет подкаталога для
языкового стандарта, приложение должно создать его. Если вы
используете функцию CopyFile, она создаст папку при отсутствии
подкаталога для языкового стандарта.
Установка пакетов метаданных с помощью INF-файла в пакете
драйвера
Примечание. Так как мы не поддерживаем способ установки пакетов
метаданных с помощью INF-файла, мы настоятельно рекомендуем вам
выполнять установку с сервера WMIS. Если вы все-таки выбрали способ с
использованием INF-файла, прочтите внимательно этот раздел, чтобы
убедиться, что вы осознаете риски.
Чтобы установить пакеты метаданных из пакета драйвера, в вашем INF-файле
должно быть задано копирование пакетов метаданных. Дополнительные
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 6
сведения об INF-файлах см. в разделе "INF-файлы" в комплекте разработки
драйверов для Windows.
Примечание. Если пакет драйвера используется для установки устройств в
версиях Windows, выпущенных ранее Windows 7, вы должны создать отдельный
раздел INF DDInstall, содержащий директивы INF, относящиеся к вашим
метаданным. Вам нужно указать имя этого раздела в разделе INF Models,
используя формат TargetOSversion с указанием значений OSMajorVersion и
OSMinorVersion для Windows 7. Если вы не используете отдельный раздел
DDInstall для Windows 7, то при установке пакета драйвера появится
предупреждение о подписи, так как COPYFLG_NODECOMP не работает с
версиями Windows, выпущенными ранее Windows 7. Дополнительные сведения
о создании форматированных разделов INF см. в разделе "Создание INF-файлов
для нескольких платформ и операционных систем" в комплекте разработки
драйверов для Windows.
В следующем примере показано, как разделы DestinationDirs и DDInstall
определяют пути для операций с пакетами метаданных.
[SourceDisksNames]
1 = %Media_Description%,,,\MetadataPackage ;
[SourceDisksFiles.NTx86]
GUID1.devicemetadata-ms= 1,, ;A metadata package file for EN-US
GUID2.devicemetadata-ms= 1,, ;A metadata package file for AR-SA
GUID3.devicemetadata-ms= 1,, ;A metadata package file for JA-JP
[DestinationDirs]
COPYMETADATA_EN-US = 24,
\ProgramData\Microsoft\Windows\DeviceMetadataStore\EN-US ;
COPYMETADATA_AR-SA = 24,
\ProgramData\Microsoft\Windows\DeviceMetadataStore\AR-SA ;
COPYMETADATA_JA-JP = 24,
\ProgramData\Microsoft\Windows\DeviceMetadataStore\JA-JP ;
. . .
[DeviceInstall.NTx86]
CopyFiles=COPYMETADATA_EN-US
CopyFiles=COPYMETADATA_AR-SA
CopyFiles=COPYMETADATA_JA-JP
[COPYMETADATA_EN-US]
GUID1.devicemetadata-ms,,,0x00000800 ;COPYFLG_NODECOMP
[COPYMETADATA_AR-SA]
GUID2.devicemetadata-ms,,,0x00000800 ;COPYFLG_NODECOMP
[COPYMETADATA_JA-JP]
GUID3.devicemetadata-ms,,,0x00000800 ;COPYFLG_NODECOMP
Замечания.

Вам нужно скопировать все пакеты метаданных в пакете драйвера в
соответствующую папку локального хранилища метаданных устройств,
чтобы обеспечить поддержку динамического изменения языкового
стандарта.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 7

Пакеты метаданных не должны копироваться с помощью
дополнительного установщика или установщика классов.

Далее следует указать флаг COPYFLG_NODECOMP в директиве CopyFIles.
Этот флаг гарантирует целостность двоичных данных пакета метаданных
устройства и предотвращает распаковку этого пакета при установке
пакета драйвера.

Вам нужно подписать пакет метаданных, если он включен в пакет
драйвера, который будет подписан.

Любой сбой при установке пакета метаданных вызывает сбой установки
драйвера.
Применение пакета метаданных устройства в системе для
тестирования
Пакет метаданных устройства устанавливается автоматически при установке
устройства в системе пользователя. Однако нужно нажать клавишу F5, открыв
папку "Устройства и принтеры", при копировании пакета метаданных устройства
после его установки в локальное хранилище метаданных для тестирования. В
этом случае выполните следующие действия.
1. Перейдите в меню "Пуск".
2. Введите "Устройства и принтеры".
3. Щелкните "Параметры" на панели поиска.
4. Щелкните "Устройства и принтеры".
5. Нажмите клавишу F5.
Примечание. Если вы используете средство создания метаданных устройства
или средство развертывания драйверов WDK, нажимать клавишу F5 не нужно,
так как эти инструменты автоматически обновляют базу метаданных устройства.
Подпись пакета метаданных устройства и тестовый режим
Для приложений Магазина Windows для устройств, специализированных
приложений для устройств, компонента Device Stage и автозапуска для устройств
пакет метаданных устройства должен иметь подпись (пользователи получат
пакет метаданных устройства из WMIS), либо система должна находиться в
тестовом режиме (для тестирования). Собираясь провести тестирование пакета
метаданных устройства перед его отправкой в Майкрософт, переведите систему
в тестовый режим. Чтобы перевести компьютер в тестовый режим, выполните
следующие действия.
1. Откройте командную строку с повышенными правами доступа.
2. Выполните команду bcdedit -set testsigning on.
3. Перезагрузите систему.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 8
Когда компьютер перейдет в тестовый режим, на рабочем столе появится
надпись Тестовый режим.
Как клиент DMRC выбирает пакет метаданных устройства
Когда пользователь открывает окно "Устройства и принтеры" или
пользовательский интерфейс Device Stage™, операционная система запускает
клиент получения метаданных устройства (DMRC) для поиска в его кэше
наиболее подходящего и актуального пакета метаданных для устройства. Кроме
того, клиент DMRC ищет более новый пакет метаданных для устройства на
сервере WMIS. Если DMRC находит нужный пакет, он загружает его и
устанавливает на компьютере.
Если клиент DMRC недавно запрашивал на сервере WMIS пакет метаданных
устройства, он не ищет новый пакет, а использует тот пакет, который уже
имеется в кэше. Дополнительные сведения см. в разделе Порядок определения
клиентом DMRC необходимости поиска на сервере WMIS далее в этом
документе.
Клиент DMRC использует следующие XML-элементы метаданных, указанные в
пакетах метаданных, для выбора подходящего пакета для устройства. Порядок
этих XML-элементов соответствует приоритету, с которым клиент DMRC
выбирает пакет метаданных.
1. ModelID и ModelIDList
2. HardwareID и HardwareIDList
3. Locale
4. LastModifiedDate
Когда клиент DMRC выбирает пакет метаданных для устройства, он выполняет
следующие действия.
1. Если устройство имеет идентификатор модели, клиент DMRC ищет пакеты
метаданных устройства, для которых одна запись ModelID в XML-элементе
ModelIDList пакета совпадает со значением идентификатора модели
устройства.
2. Если устройство не имеет идентификатора модели, клиент DMRC ищет
пакеты метаданных устройства, для которых записи HardwareID в XMLэлементе HardwareIDList пакета совпадают с аппаратными
идентификаторами устройств.
3. Клиент DMRC создает список пакетов метаданных устройства,
удовлетворяющих условиям поиска, описанным на этапах 1 и 2. Затем в этом
списке DMRC ищет записи, для которых значение XML-элемента Locale
пакета совпадает со значениями в списке предпочтительных языковых
стандартов на компьютере.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 9
Если ни одна из записей этого списка не удовлетворяет данному условию,
клиент DMRC ищет среди записей списка пакет метаданных устройства,
содержащий XML-элемент Locale, у которого для атрибута default задано
значение true. Если такая запись находится, DMRC выбирает этот пакет
метаданных.
В Windows 8, если выполняется условие флага многоязыковой поддержки,
этот пакет метаданных устройства имеет наивысший ранг при поиске
соответствий языковых стандартов.
4. Если DMRC находит несколько пакетов метаданных устройства на шаге 3, он
выбирает пакет с XML-элементом LastModifiedDate, имеющим наиболее
позднюю метку времени.
Дополнительные сведения об XML-схеме метаданных устройства и ее элементах
см. в разделе Создание пакета метаданных устройства для компонента
"Устройства и принтеры" в разделе оборудования на сайте Центра разработки
для Windows.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 10
На рис. 1 показано, как клиент DMRC выбирает пакеты метаданных устройства.
Рисунок 1. Как клиент DMRC выбирает пакет метаданных
Замечания.

Если клиент DMRC выбирает пакет метаданных по идентификатору
оборудования, он использует такое же ранжирование идентификаторов
оборудования, которое применяется в операционной системе во время
установки драйвера. Клиент DMRC устанавливает ранг для
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 11
идентификатора специального оборудования на более высоком уровне,
чем для идентификатора обычного оборудования. В приведенном ниже
примере идентификаторы оборудования следуют в порядке
ранжирования.
<HardwareID>DOID:USB\VID_XXXX&PID_YYYY&REV_0000</HardwareID>
<HardwareID>DOID:USB\VID_XXXX&PID_YYYY</HardwareID>
Сведения об идентификаторах оборудования, содержащихся в контейнере
устройства, см. в разделе "Создание пакетов метаданных устройств для
компонента "Устройства и принтеры"" в разделе оборудования на сайте
Центра разработки для Windows.

Только для одного пакета метаданных устройства следует задать атрибут
default XML-элемента Locale со значением true. Задать для этого
атрибута значение true нужно в том пакете, который содержит
идентификатор оборудования с наивысшим рангом.

XML-элемент LastModifiedDate используется для управления версиями и
выбора самой новой версии пакета метаданных устройства.

Если два и более пакета метаданных устройства в локальном хранилище
метаданных содержат одинаковые значения XML-элементов ModelIDList,
HardwareIDList, Locale или LastModifiedDate, клиент DMRC выбирает для
устройства только один из них. Обратите внимание, что DMRC выбирает
один из этих пакетов случайным образом.
Порядок определения клиентом DMRC необходимости поиска
на сервере WMIS
Чтобы уменьшить нагрузку на локальную сеть пользователя, клиент DMRC
создает кэш для пакетов метаданных устройств. Когда пользователь открывает
компонент "Устройства и принтеры", при автозапуске запускается Device Stage
или в Windows 8 инициируется задача периодического обслуживания, клиент
DMRC выполняет следующие действия, чтобы определить необходимость
поиска более нового пакета метаданных на сервере WMIS.
1. Если идентификатора целевого устройства нет в индексной таблице DMRC,
клиент DMRC выполняет первоначальный поиск пакета метаданных
устройства. Таким образом, DMRC отправляет запрос на сервер WMIS.
2. Если идентификатор целевого устройства есть в индексной таблице DMRC,
клиент DMRC определяет, не нужно ли повторить запрос на сервер WMIS.

Если клиент DMRC ранее получил пакет метаданных устройства, он
сравнивает значение раздела реестра CheckBackMDRetrieved со
значением, полученным после вычитания из сегодняшней даты значения
LastCheckedDate. Если значение CheckBackMDRetrieved меньше, клиент
DMRC отправляет запрос на сервер WMIS.

Если клиент DMRC ранее не получал пакета метаданных устройства, он
сравнивает значение раздела реестра CheckBackMDNotRetrieved со
значением, полученным после вычитания из сегодняшней даты значения
LastCheckedDate. Если значение CheckBackMDNotRetrieved меньше,
клиент DMRC отправляет запрос на сервер WMIS.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 12
На рис. 2 показаны алгоритмы, используемые клиентом DMRC для определения
необходимости отправки запроса на сервер WMIS, чтобы получить обновленные
пакеты метаданных.

Рисунок 2. Как клиент DMRC определяет необходимость отправки запроса
на сервер WMIS для получения пакета метаданных устройства
В следующем списке приведены значения, используемые в алгоритмах на рис. 2.

LastCheckedDate
Это значение показывает последнюю дату, когда клиент DMRC отправлял
запрос метаданных устройства на сервер WMIS. Эта дата не означает, что в
этот день DMRC успешно получил пакет метаданных. Она только показывает,
что это был последний раз, когда клиент DMRC отправил запрос на сервер
WMIS по данному устройству.

CheckBackMDNotRetrieved
Этот раздел реестра указывает количество дней ожидания до следующего
запроса метаданных устройства, который клиент DMRC отправляет на сервер
WMIS. Его значение применяется к устройствам, по которым клиент DMRC
еще не получал метаданные с сервера WMIS.
Путь
Раздел
HKCU\Software\Microsoft\Windows\CurrentVersion\DeviceMetadata
CheckBackMDNotRetrieved
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 13
Значение
Значение по
умолчанию

От 0 до 256: REG_DWORD
5
CheckBackMDRetrieved
Этот раздел реестра указывает количество дней ожидания до запроса
обновленных метаданных устройства, который отправляет клиент DMRC. Его
значение применяется к устройствам, по которым клиент DMRC ранее
получил метаданные.
Путь
Раздел
Значение
Значение по
умолчанию
HKCU\Software\Microsoft\Windows\CurrentVersion\DeviceMetadata
CheckBackMDRetrieved
От 0 до 256: REG_DWORD
8
Примечание. Сервер WMIS контролирует значения CheckBackMDRetrieved и
CheckBackMDNotRetrieved. Администраторы WMIS выбирают эти значения в
зависимости от состояния сети и распределения нагрузки. Каждый отклик с
сервера WMIS содержит данные конфигурации клиента, которые управляют
реакцией DMRC на события.
Рекомендации по тестированию загрузки пакетов метаданных
устройства
Из-за кэширования метаданных в DMRC может возникнуть задержка между
появлением пакета метаданных устройства на сервере WMIS и загрузкой этого
пакета в систему клиента. Чтобы проверить загрузку пакетов метаданных
устройства, вы можете выполнить загрузку принудительно двумя способами.

Удалите папку кэша метаданных устройств
(%LOCALAPPDATA%\Local\Microsoft
\Device Metadata\). В результате удаления этой папки значение
LastCheckedDate будет сброшено, а клиент DMRC отправит запросы на
сервер WMIS по всем устройствам, как при использовании в первый раз.

В Windows 8 кэш метаданных устройств находится в папке
%PROGRAMDATA%\Microsoft\Windows\DeviceMetadataCache

Задайте для разделов реестра CheckBackMDRetrieved и
CheckBackMDNotRetrieved значение 0. Если эти значения равны нулю,
клиент DMRC немедленно отправляет на сервер WMIS запрос по
целевому устройству. Обратите внимание, что эти значения
перезаписываются всякий раз, когда DMRC получает отклик от сервера
WMIS. Поэтому эти параметры могут измениться, если DMRC получит
отклик по любому другому устройству до того, как сделает запрос на
сервер WMIS по целевому устройству.
Примечание. Описанные изменения можно вносить только при тестировании
пакетов метаданных. Вы не должны предоставлять пользователям какие-либо
средства для внесения таких изменений, а также сообщать им о возможности
использования механизмов принудительного запроса.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 14
Отладка процесса установки пакета метаданных устройства
В следующих разделах содержатся сведения об отладке процесса установки
пакетов метаданных устройств.
Проверка установки пакета метаданных устройства
Найдите значок вашего целевого устройства в папке Устройства и принтеры.
Если заданный вами значок устройства присутствует в папке Устройства и
принтеры, то пакет метаданных устройства был установлен правильно, по
крайней мере для компонента DeviceInfo.xml.
Отладка в свойствах контейнера устройства при помощи
Ddodiag.exe
Для отладки проблемы с пакетом метаданных устройства или проблем,
связанных со свойствами устройства, мы рекомендуем использовать программу
Ddodiag.exe.
Начиная с Windows 7 Ddodiag.exe поддерживает перечисление всех значений
свойств устройства в контейнерах устройства.
Запуск Ddodiag.exe
Для запуска Ddodiag.exe выполните следующие действия.
1. Откройте командную строку.
2. Введите start /wait ddodiag.exe -o <Filename.xml> и нажмите клавишу
ВВОД.
3. Введите notepad.exe <Filename.xml>.
Примечание. XML-файл содержит все свойства контейнеров устройств в
системе. Если вас интересует проблема с конкретным устройством, найдите в
XML-файле элементы HardwareID или ModelID и просмотрите свойства
контейнера устройства. Если требуется определить, задано ли определенное
свойство, попробуйте найти его значение в XML-файле.
Пример 1. Известны коды оборудования для целевого устройства
1. Откройте файл filename.xml при помощи Блокнота или любого
редактора.
2. Попробуйте найти код оборудования (например,
USB\VID_045E&PID_0047).
3. Найдите тип свойства в XML-файле ниже:
<Property key="PKEY_Device_HardwareIds" type="VT_VECTOR |
VT_LPWSTR" vectorCount="7">
<Value>USB\VID_045E&PID_0047&REV_0300</Value>
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 15
<Value>HID\VID_045E&PID_0047&REV_0300</Value>
<Value>USB\VID_045E&PID_0047</Value>
<Value>HID\VID_045E&PID_0047</Value>
<Value>HID_DEVICE_SYSTEM_MOUSE</Value>
<Value>HID_DEVICE_UP:0001_U:0002</Value>
<Value>HID_DEVICE</Value>
</Property>
4. Элемент свойства должен быть дочерним элементом элемента DDO.
(Например, <DDO instanceId="DDO:{FF5614B9-6CB3-11E1-AAB0806E6F6E6963}">.)
5. В элементе DDO просмотрите информацию, заданную вами в пакете
метаданных устройства. Если значения настроены, пакет метаданных
устройства был установлен правильно.
Ниже приведен пример значений свойства (имя значка):
<Property key="PKEY_DeviceDisplay_Icon" type="VT_LPWSTR">
<Value>%programdata%\microsoft\windows\devicemetadatacache\dmrccache\
en-us\2ec2ef3b-83d2-4f5d-afa331aec5a379dd\DeviceInformation\IntelliMouseExplorer3.0.ico</Value>
</Property>
Пример 2. Известны значения, которые необходимо задать в контейнере
1. Откройте файл filename.xml при помощи Блокнота или любого
редактора.
2. Попробуйте найти значение (например,
Microsoft.Samples.PrinterExtensionCS).
3. Если найти значение не удалось, значит, оно не задано. В этом случае
проверьте информацию пакета метаданных устройства — код
оборудования, подпись пакета и т. п.
Ниже приведен пример значений свойства (имя пакета приложения):
<Property key="51236583-0c4a-4fe8-b81f-166aec13f510, 101"
type="VT_VECTOR | VT_LPWSTR" vectorCount="1">
<Value>Microsoft.Samples.PrinterExtensionCS</Value>
</Property>
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 16
Отладка с использованием трассировки событий Windows (ETW) в
Windows 7
При устранении проблем с пакетами метаданных устройств мы рекомендуем
использовать компонент "Просмотр событий".
Начиная с версии Windows 7 служба трассировки событий Windows (ETW)
поддерживает канал DeviceMetadata/Debug, предназначенный для событий,
которые связаны с обработкой пакетов метаданных устройств.
Просмотр событий трассировки событий Windows в канале
DeviceMetadata/Debug с помощью компонента "Просмотр событий"
Чтобы в компоненте "Просмотр событий" просмотреть события, связанные с
метаданными устройств, выполните следующие действия.
1. В меню Пуск щелкните правой кнопкой мыши пункт Компьютер и выберите
команду Управление.
2. Разверните узел Служебные программы.
3. Разверните и выберите узел Просмотр событий.
4. В меню Вид выберите пункт Отобразить аналитический и отладочный
журналы.
5. Последовательно разверните узлы Журналы приложений и служб,
Microsoft, Windows и UserPnP.
6. Выберите узел DeviceMetadata/Debug.
Примечание. Чтобы принимать и просматривать события, вам нужно
включить ведение журналов в канале трассировки событий Windows
DeviceMetadata/Debug. Щелкните правой кнопкой мыши узел
DeviceMetadata/Debug, выберите команду Свойства и установите флажок
EnableLogging.
События трассировки событий Windows в канале
DeviceMetadata/Debug
Операционная система во время загрузки или обработки пакета метаданных
устройства регистрирует в журнале следующие события, связанные с ошибками,
предупреждениями и информационными сообщениями.
Идентификатор события: 7900 Ошибка: ошибка пакета метаданных
устройства.
Обнаружена ошибка в одном из компонентов пакета метаданных устройства.
Это сообщение журнала событий содержит следующие данные.

Описание ошибки.
Источник пакета метаданных устройства — DeviceMetadataStore или
DeviceMetadataCache. Дополнительные сведения см. в разделе Глоссарий
далее в этом документе.

Имя пакета метаданных устройства.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 17

Код ошибки, зависящий от приложения. Подробнее об этих кодах
ошибок см. в разделе Определение кода ошибки, связанной с
метаданными устройства далее в этом документе.

Код ошибки Win32.
Идентификатор события: 7901 Информация: пакет метаданных устройства
загружен с сервера WMIS.
Пакет метаданных устройства был загружен с сервера WMIS клиентом DMRC.
Компоненты пакета были извлечены и сохранены в кэше метаданных
устройства. Это сообщение журнала событий содержит следующие данные.

Описание события.

Расположение распакованного пакета метаданных устройства в кэше.

Имя пакета метаданных устройства.
Идентификатор события: 7902 Ошибка: пакет метаданных устройства не
подписан.
Установленный пакет метаданных устройства не был подписан с помощью
информационной панели.
Примечание. Подпись пакета метаданных устройства проверяется только при
его загрузке из служб WMIS.
Это сообщение журнала событий содержит следующие данные.

Описание ошибки.

Имя пакета метаданных устройства.

Код ошибки, зависящий от приложения. Подробнее об этих кодах
ошибок см. в разделе Определение кода ошибки, связанной с
метаданными устройства далее в этом документе.

Код ошибки Win32.
Идентификатор события: 7950 Информация: в локальном хранилище
метаданных обнаружен новый пакет метаданных устройства.
Клиент DMRC обнаружил новый пакет метаданных устройства, установленный
на локальном компьютере. Это сообщение журнала событий содержит
следующие данные.

Описание события.

Источник пакета метаданных устройства — хранилище метаданных или
кэш метаданных. Подробнее см. в разделе Глоссарий далее в этом
документе.

Имя пакета метаданных устройства.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 18
Идентификатор события: 7951 Информация: выполняется запрос пакетов
метаданных.
Клиент DMRC запрашивает пакеты метаданных конкретного установленного
устройства. Это сообщение журнала событий содержит следующие данные.

Описание события.

Ключ поиска устройства, например код оборудования или
идентификатор модели.
Примечание. Когда в качестве параметра передается список кодов
оборудования, в журнал заносятся только коды специального оборудования.
Идентификатор события: 7952 Предупреждение: ошибки, связанные с
сетью.
При загрузке пакета метаданных устройства из WMIS клиентом DMRC
произошла ошибка, связанная с сетью.
Примечание. Это предупреждение не выдается, если сеть недоступна.
Это сообщение журнала событий содержит следующие данные.

Подробное описание ошибки.

Код ошибки, зависящий от приложения.

Код состояния HTTP в тот момент, когда произошла сетевая ошибка.
Отладка с использованием трассировки событий Windows (ETW) в
Windows 8
При устранении проблем с пакетами метаданных устройств мы рекомендуем
использовать компонент "Просмотр событий".
Начиная с версии Windows 7 служба трассировки событий Windows (ETW)
поддерживает канал DeviceMetadata/Debug, предназначенный для событий,
которые связаны с обработкой пакетов метаданных устройств.
Просмотр событий трассировки событий Windows в канале
DeviceMetadata/Debug с помощью компонента "Просмотр событий"
Чтобы в компоненте "Просмотр событий" просмотреть события, связанные с
метаданными устройств, выполните следующие действия.
1. В меню Пуск введите Просмотр событий и выберите параметры на
панели поиска.
2. Щелкните Просмотр журналов событий.
3. В меню Вид выберите пункт Отобразить аналитический и отладочный
журналы.
4. Последовательно разверните узлы Журналы приложений и служб,
Microsoft, Windows и UserPnP.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 19
5. Выберите узел DeviceMetadata/Debug.
Примечание. Чтобы принимать и просматривать события, необходимо
включить ведение журналов в канале трассировки событий Windows
DeviceMetadata/Debug. Щелкните правой кнопкой мыши узел
DeviceMetadata/Debug, выберите Свойства и установите флажок
EnableLogging.
События трассировки событий Windows в канале
DeviceMetadata/Debug
Операционная система во время загрузки или обработки пакета метаданных
устройства регистрирует в журнале следующие события, связанные с ошибками,
предупреждениями и информационными событиями.
Идентификатор события: 7804 Информация: клиент DMRC начал поиск в
локальном индексе.
Клиент DMRC начал поиск пакета метаданных устройства в локальном кэше.

Сообщение: НАЧАЛО: поиск пакета метаданных в локальном индексе
Идентификатор события: 7805 Информация: клиент DMRC завершил поиск
в локальном индексе.
Клиент DMRC завершил поиск пакета метаданных устройства в локальном кэше.

Сообщение: ЗАВЕРШЕНИЕ: поиск пакета метаданных в локальном
индексе
Идентификатор события: 7806 Информация: клиент DMRC начал
распаковку пакета.
Клиент DMRC начал распаковку пакета метаданных устройства.

Сообщение: НАЧАЛО: распаковка пакета метаданных в кэш
Идентификатор события: 7807 Информация: клиент DMRC завершил
распаковку пакета.
Клиент DMRC завершил распаковку пакета метаданных устройства.

Сообщение: ЗАВЕРШЕНИЕ: распаковка пакета метаданных в кэш
Идентификатор события: 7808 Информация: клиент DMRC начал анализ
PackageInfo.
Клиент DMRC начал анализ файла packageinfo.xml.

Сообщение: НАЧАЛО: анализ файла packageinfo.xml на наличие свойств
метаданных
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 20
Идентификатор события: 7809 Информация: клиент DMRC завершил анализ
PackageInfo.
Клиент DMRC завершил анализ файла packageinfo.xml.

Сообщение: ЗАВЕРШЕНИЕ: анализ файла packageinfo.xml на наличие
свойств метаданных
Идентификатор события: 7810 Информация: клиент DMRC начал
сканирование LocalStore.
Клиент DMRC начал сканирование локального хранилища на наличие пакетов
метаданных.

Сообщение: НАЧАЛО: сканирование локального хранилища на наличие
новых пакетов метаданных
Идентификатор события: 7811 Информация: клиент DMRC завершил
сканирование LocalStore.
Клиент DMRC завершил сканирование локального хранилища на наличие
пакетов метаданных.

Сообщение: ЗАВЕРШЕНИЕ: сканирование локального хранилища на
наличие новых пакетов метаданных
Идентификатор события: 7812 Информация: клиент DMRC начал
инициализацию.
Клиент DMRC начал инициализацию процесса.

Сообщение: НАЧАЛО: инициализация клиента DMRC
Идентификатор события: 7813 Информация: клиент DMRC завершил
инициализацию.
Клиент DMRC завершил инициализацию.

Сообщение: ЗАВЕРШЕНИЕ: инициализация клиента DMRC
Идентификатор события: 7814 Информация: клиент DMRC начал отмену
инициализации.
Клиент DMRC начал отмену инициализации.

Сообщение: НАЧАЛО: отмена инициализации клиента DMRC
Идентификатор события: 7815 Информация: клиент DMRC завершил
отмену инициализации.
Клиент DMRC завершил отмену инициализации.

Сообщение: ЗАВЕРШЕНИЕ: отмена инициализации клиента DMRC
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 21
Идентификатор события: 7900 Ошибка: ошибка пакета метаданных
устройства.
Обнаружена ошибка в одном из компонентов пакета метаданных устройства.
Это сообщение журнала событий содержит следующие данные.

Описание ошибки.
Источник пакета метаданных устройства — DeviceMetadataStore или
DeviceMetadataCache. Подробнее см. в разделе Глоссарий далее в этом
документе.

Имя пакета метаданных устройства.

Код ошибки, зависящий от приложения. Подробнее об этих кодах
ошибок см. в разделе Определение кода ошибки, связанной с
метаданными устройства далее в этом документе.

Код ошибки Win32®.
0x50000011
Не удалось распаковать пакет метаданных
Не удалось проверить имя файла для имени пакета
0x50000021
Не удалось открыть PackageInfo
Не удалось открыть DeviceInfo
Не удалось открыть WindowsInfo
Не удалось открыть ServiceInfo
Не удалось открыть SoftwareInfo
0x50000022
Не удалось проанализировать PackageInfo
Не удалось проанализировать DeviceInfo
Не удалось проанализировать WindowsInfo
Не удалось проанализировать ServiceInfo
Не удалось проанализировать SoftwareInfo
Идентификатор события: 7901 Информация: пакет метаданных устройства
загружен из WMIS.
Пакет метаданных устройства был загружен из WMIS клиентом DMRC.
Компоненты пакета были извлечены и сохранены в кэше метаданных
устройства. Это сообщение журнала событий содержит следующие данные.

Сообщение: Из WMIS загружен новый пакет метаданных устройства.

Расположение распакованного пакета метаданных устройства в кэше.

Имя пакета метаданных устройства.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 22
Идентификатор события: 7902 Ошибка: пакет метаданных устройства не
подписан.
Установленный пакет метаданных устройства не был подписан с помощью
информационной панели.
Примечание. Подпись пакета метаданных устройства проверяется только при
его загрузке из служб WMIS.
Это сообщение журнала событий содержит следующие данные.

Описание ошибки.

Имя пакета метаданных устройства.

Код ошибки, зависящий от приложения. Подробнее об этих кодах
ошибок см. в разделе Определение кода ошибки, связанной с
метаданными устройства далее в этом документе.

Код ошибки Win32.
Идентификатор события: 7903 Информация: клиент DMRC анализирует
метаданные устройства.
Клиент DMRC завершил анализ пакета метаданных устройства. Это сообщение
журнала событий содержит следующие данные.

Сообщение: Успешно проанализирован файл метаданных устройства.

Расположение распакованного пакета метаданных устройства в кэше.

Имя пакета метаданных устройства.

Язык
Идентификатор события: 7950 Информация: в локальном хранилище
метаданных обнаружен новый пакет метаданных устройства.
Клиент DMRC обнаружил новый пакет метаданных устройства, установленный
на локальном компьютере. Это сообщение журнала событий содержит
следующие данные.

Описание события.

Источник пакета метаданных устройства — хранилище метаданных или
кэш метаданных. Подробнее см. в разделе Глоссарий далее в этом
документе.

Имя пакета метаданных устройства.
Идентификатор события: 7951 Информация: выполняется запрос пакетов
метаданных.
Клиент DMRC запрашивает пакеты метаданных конкретного установленного
устройства. Это сообщение журнала событий содержит следующие данные.

Описание события.

Ключ поиска устройства, например код оборудования или
идентификатор модели.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 23
Примечание. Когда в качестве параметра передается список кодов
оборудования, в журнал заносятся только коды специального оборудования.
Идентификатор события: 7952 Предупреждение: ошибки, связанные с
сетью.
При загрузке пакета метаданных устройства из WMIS клиентом DMRC
произошла ошибка, связанная с сетью.
Примечание. Это предупреждение не выдается, если сеть недоступна.
Это сообщение журнала событий содержит следующие данные.

Подробное описание ошибки.

Код ошибки, зависящий от приложения.

Код состояния HTTP в тот момент, когда произошла сетевая ошибка.
Отладка с помощью отчетов о проблемах (Центр поддержки)
Windows 7 отправляет отчеты об ошибках пакетов метаданных устройства (код
ошибки 0x50000xx) на сервер отчетов об ошибках Windows (WER). Центр
поддержки ведет список ошибок, которые будут отправлены или уже
отправлены. В этих отчетах содержатся данные для отладки вашего пакета
метаданных устройства.
Просмотр отчета о проблемах в Центре поддержки
Чтобы просмотреть отчет о проблемах в центре поддержки, выполните
следующие действия.
1. В меню Пуск введите "Просмотр всех отчетов о проблемах" и нажмите
клавишу ВВОД.
2. Выберите отчет о проблемах, который желаете просмотреть. Отчет содержит
подробные сведения об ошибке.
Вы можете найти эти же сведения в компоненте "Просмотр событий".
1. Запустите компонент "Просмотр событий".
2. Разверните узел Журналы Windows.
3. Щелкните правой кнопкой мыши пункт Приложение, а затем выберите
команду Фильтровать текущий журнал.
4. Введите "1001" в поле Код события и нажмите кнопку ОК.
Поле Код события не подписано. Оно находится в центре диалогового окна и по
умолчанию содержит текст "<Все коды событий>".
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 24
Анализ отчета о проблемах
Все отчеты о проблемах клиента получения метаданных устройств содержат
следующие данные.
1. Код ошибки, зависящий от приложения. Дополнительные сведения об этих
кодах ошибок см. в разделе Определение кода ошибки, зависящей от
метаданных устройства далее в этом документе.
2. Код ошибки Win32.
3. Источник пакета метаданных устройства — хранилище метаданных или кэш
метаданных. Дополнительные сведения см. в разделе "Глоссарий" далее в
этом документе.
4. Имя пакета метаданных устройства.
Определение кода ошибки, связанной с метаданными устройства
Начиная с версии Windows 7 операционная система вместе с событиями,
связанными с загрузкой и обработкой пакетов метаданных устройств,
регистрирует следующие коды ошибок. Этими событиями управляет служба
трассировки событий Windows, и их можно просматривать в окне просмотра
событий.

Ошибка сервера WMIS (200000xx):
21: Запрос не содержит запроса метаданных устройства.
22: Размер пакета запроса превышает максимально допустимое значение.
23: Недопустимое значение языкового стандарта.
24: Запрос не содержит допустимого заголовка.
25: Недопустимый формат запроса.
31: При обработке запроса в службе произошла ошибка.

Локальная ошибка DMRC (0x400000xx):
Локальный кэш метаданных поврежден.
11: Отсутствует локальный кэш метаданных.
12: Неверная структура (папок) в локальном кэше метаданных.
Локальное хранилище метаданных повреждено:
21: Отсутствует локальное хранилище метаданных.
22: Структура (папок) в локальном хранилище метаданных повреждена.
Индекс поврежден:
31: Отсутствует индекс.
32: Индекс поврежден.

Ошибки пакета метаданных устройства (0x500000xx):
Ошибка CAB-файла:
11: CAB-файл поврежден.
12: CAB-файл имеет неверную структуру.
Ошибка документа PackageInfo.xml:
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 25
21: Отсутствует документ PackageInfo.xml.
22: Файл PackageInfo.xml имеет неверный формат (не поддается
анализу).
Примечание. Код ошибки 22 указывает на то, что в документе
PackageInfo.xml пропущены необходимые элементы либо один или
несколько его элементов не соответствуют синтаксису схемы
PackageInfo XML.
Ошибка документа DeviceInfo.xml:
31: Отсутствует документ DeviceInfo.xml.
32: Документ DeviceInfo.xml имеет неверный формат (не поддается
анализу).
33: В документе DeviceInfo.xml пропущены необходимые элементы.
34: Элементы в документе DeviceInfo.xml не соответствуют определению
схемы XML.
Ошибка документа WindowsInfo.xml:
41: Отсутствует документ WindowsInfo.xml.
42: Документ WindowsInfo.xml имеет неверный формат (не поддается
анализу).
43: В документе WindowsInfo.xml пропущены необходимые элементы.
44: Элементы в документе WindowsInfo.xml не соответствуют
определению схемы XML.

Ошибка сети:
Запрос на WMIS (0x70000xxx):
503: Сервер WMIS занят и не может выполнить запрос.
Дополнительные сведения об ошибках HTTP см. в разделе Ресурсы в
конце данного документа.
408: Сервер WMIS доступен, но время на обработку запроса истекло.
500: Сервер WMIS вернул внутреннюю ошибку, но XML-файл со сбоями
не содержит полного кода ошибки.
Ошибки BITS:
Дополнительные сведения об ошибках BITS см. в разделе
"Возвращаемые значения BITS" на веб-сайте MSDN®.
Приложение
Отладка установки устройства с использованием трассировки
событий Windows (ETW) в Windows 8
При устранении проблем с установкой устройства, включая установку пакета
метаданных устройства, мы рекомендуем использовать компонент "Просмотр
событий".
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 26
Начиная с версии Windows 8 служба трассировки событий Windows (ETW)
поддерживает канал, предназначенный для событий, которые связаны с
установкой устройств.
Просмотр событий трассировки событий Windows, связанных с
установкой устройств, с помощью компонента "Просмотр событий"
Чтобы в компоненте "Просмотр событий" просмотреть события, связанные с
метаданными устройств, выполните следующие действия.
1. В меню Пуск введите Просмотр событий и выберите параметры на панели
поиска.
2. Щелкните Просмотр журналов событий.
3. В меню Вид выберите пункт Отобразить аналитический и отладочный
журналы.
4. Последовательно разверните узлы Журналы приложений и служб,
Microsoft, Windows и DeviceSetupManager.
5. Для просмотра журналов выберите узел Admin или узел Debug.
6. Примечание. Чтобы принимать и просматривать события узла Debug,
необходимо включить ведение журналов в канале Debug. Щелкните правой
кнопкой мыши узел Debug, выберите команду Свойства и установите
флажок EnableLogging.
События трассировки событий Windows, связанные с установкой
устройств
Операционная система во время загрузки или обработки пакета метаданных
устройства регистрирует в журнале следующие события, связанные с ошибками,
предупреждениями и информационными событиями.
Узел Admin
Ниже приведены события, которые будут регистрироваться в журнале на узле
Admin.
Идентификатор события: 100 Информация: DSMServiceStartup.
Запуск службы диспетчера программного обеспечения устройства (DSM). Это
сообщение журнала событий содержит следующие данные.

Сообщение: запуск службы DSM

Сведения о режиме
o
Обычный
o
Приостановлено
o
Настройка
o
OOBE
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 27

Время последнего сеанса DSM.
Идентификатор события: 101 Информация: DSMServiceShutdown.
Завершение работы службы диспетчера программного обеспечения устройства.
Это сообщение журнала событий содержит следующие данные.

Сообщение: остановка службы DSM.

Доступное время службы (продолжительность работы службы DSM).

Активное рабочее время (продолжительность активной работы службы
DSM).
Идентификатор события: 104 Ошибка: DsmServiceStartupFailed.
Сбой запуска DSM. Это сообщение журнала событий содержит следующие
данные.

Сообщение: сбой запуска службы DSM.

Код ошибки Win32
Идентификатор события: 105 Информация: RetrySequenceStart.
Служба DSM обнаружила ошибку и начинает последовательность повтора. Это
сообщение журнала событий содержит следующие данные.

Сообщение: служба DSM входит в последовательность повтора, так как
произошли ошибки, допускающие повтор.
Идентификатор события: 106 Информация: RetrySequenceStop.
DSM выходит из последовательности повтора. Это сообщение журнала событий
содержит следующие данные.

Сообщение: служба DSM выходит из состояния повтора

Время цикла повтора в этом сеансе. (Количество попыток повтора,
выполненных службой DSM в сеансе)
Идентификатор события: 109 Информация: DsmCoreServiceMode.
DSM переходит в режим службы. Это сообщение журнала событий содержит
следующие данные.

Сообщение: служба DSM перешла в режим службы

Сведения о режиме
o
Обычный
o
Приостановлено
o
Настройка
o
OOBE
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 28
Идентификатор события: 112 Информация: DeviceJobQueueComplete.

Служба DSM завершила формирование очереди заданий для устройства.
Это сообщение журнала событий содержит следующие данные.

Имя устройства

Идентификатор контейнера

Количество задач, обработанных в сеансах

Количество обновленных свойств

Активное рабочее время (продолжительность активной работы службы
DSM).
Идентификатор события: 120 Информация: DriverPackageDownloaded.
Служба DSM загрузила драйвер из Центра обновления Windows. Это
сообщение журнала событий содержит следующие данные.

Сообщение: обновление драйвера загружено из Центра обновления
Windows

Идентификатор пакета драйвера

Время загрузки (продолжительность загрузки драйверов).
Идентификатор события: 121 Ошибка: DriverInstallFailed.
Сбой установки драйвера. Это сообщение журнала событий содержит
следующие данные.

Сообщение: сбой установки драйвера

Идентификатор узла устройства

Код ошибки Win32
Идентификатор события: 122 Предупреждение:
DriverInstallBlockedByWUPolicy.
Сбой установки драйвера из-за политики согласия Центра обновления
Windows. Пользовательская или групповая политика исключает загрузку
драйверов из Центра обновления Windows.

Сообщение: доступ к драйверам в Центре обновления Windows
заблокирован политикой
Идентификатор события: 123 Предупреждение: DriverInstallDelayed.
Работа службы DSM задержана. Это сообщение журнала событий содержит
следующие данные.

Сообщение: работа службы DSM задержана

Время задержки (продолжительность задержки)
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 29

Код устройства
Идентификатор события: 124 Информация: DriverInstalled.
Драйвер успешно установлен. Это сообщение журнала событий содержит
следующие данные.

Идентификатор пакета драйвера

Идентификатор экземпляра устройства

Время установки (продолжительность установки драйвера)
Идентификатор события: 125 Предупреждение:
DriverInstallBlockedByPnpPolicy.
Сбой установки драйвера из-за политики самонастраивающихся устройств.
Это сообщение журнала событий содержит следующие данные.

Сообщение: установка драйвера на устройстве была блокирована
политикой ограничения самонастраивающихся устройств

Идентификатор узла устройства
Идентификатор события: 130 Предупреждение: MetadataStagingSucceeded.
Пакет метаданных устройства подготовлен для контейнера устройства. Это
сообщение журнала событий содержит следующие данные.

Сообщение: пакет метаданных подготовлен для контейнера

Имя пакета метаданных устройства

Идентификатор контейнера устройства

Время подготовки (продолжительность подготовки пакета метаданных
устройства)
Идентификатор события: 131 Ошибка: MetadataStagingFailed.
Сбой промежуточного сохранения метаданных. Это сообщение журнала
событий содержит следующие данные.

Сообщение: Сбой промежуточного сохранения метаданных

Идентификатор контейнера устройства

Код ошибки Win32
Идентификатор события: 150 Информация: DeviceRemovalSucceeded.
Устройство успешно удалено. Это сообщение журнала событий содержит
следующие данные.

Сообщение: устройство было удалено.

Имя устройства

Идентификатор контейнера
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 30
Идентификатор события: 151 Ошибка: DeviceRemovalTimeout.
Сбой удаления устройства. Это сообщение журнала событий содержит
следующие данные.

Сообщение: устройство не ответило на запрос удаления устройства.

Имя устройства

Идентификатор контейнера
Идентификатор события: 152 Ошибка: DevnodeRemovalFailure.
Сбой удаления узла устройства. Это сообщение журнала событий содержит
следующие данные.

Сообщение: сбой удаления узла устройства.

Имя узла устройства

Код ошибки
Идентификатор события: 200 Предупреждение: NoConnectionToWu.
Отсутствует подключение системы к Центру обновления Windows.

Сообщение: не удалось установить подключение к службе Центра
обновления Windows.
Идентификатор события: 201 Предупреждение: NoConnectionToWmis.
Отсутствует подключение системы к службам WMIS.

Сообщение: не удалось установить подключение к службам WMIS.
Идентификатор события: 202 Предупреждение: NoConnectionToInternet.
Отсутствует подключение системы к Интернету.

Сообщение: диспетчер списка сетей сообщает об отсутствии
подключения к Интернету.
Идентификатор события: 203 Информация: NetworkAvailable.
Отсутствует подключение системы к Интернету.

Сообщение: диспетчер списка сетей сообщает об отсутствии
подключения к Интернету.
Узел Debug
Идентификатор события: 102 Информация: DSMServiceDllLoad.
DLL-файл службы DSM загружен.

Сообщение: DLL-файл службы DSM загружен.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 31
Идентификатор события: 103 Информация: DSMServiceDllUnload.
DLL-файл службы DSM выгружается...

Сообщение: DLL-файл службы DSM выгружается.
Идентификатор события: 108 Информация: DsmCoreServiceState.
DSM переходит в состояние службы. Это сообщение журнала событий содержит
следующие данные.

Сообщение: служба DSM перешла в состояние службы

Сведения о состоянии
o
Инициализация
o
Бездействие
o
Выполнение
o
Ожидание повтора
o
Завершение работы
Идентификатор события: 110 Информация: DsmJobStarted.
Запущено задание DSM для контейнера устройства. Это сообщение журнала
событий содержит следующие данные.

Сообщение: запущено задание для контейнера устройства

Идентификатор контейнера

Идентификатор задания

Режим задания
o
StartDeviceInstall
o
InstallDrivers
o
RunHeuristics
o
InstallMetadata
o
Remove
o
Refresh
o
RefreshProperty
Идентификатор события: 111 Информация: DsmJobComplete.
Служба DSM выполнила задание для контейнера устройств. Это сообщение
журнала событий содержит следующие данные.

Сообщение: задание для контейнера устройств выполнено

Идентификатор контейнера

Идентификатор задания

Состояние задачи
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 32
o
Завершено
o
Требуется перезагрузка
o
Ошибка программы
o
Ошибка оборудования
o
Внутренняя ошибка
o
Заблокировано пользовательской политикой
o
Заблокировано системной политикой
o
Отменено
Идентификатор события: 220 Информация: DsmRegisteredBackgroundTask.
Служба DSM зарегистрировала фоновую задачу для контейнера устройства.
Это сообщение журнала событий содержит следующие данные.

Сообщение: зарегистрирован обработчик для обработки приложением
уведомлений из контейнера устройства.

Идентификатор контейнера устройства

Полное имя пакета приложения

Имя обработчика уведомлений
Идентификатор события: 221 Информация:
DsmBackgroundTaskAlreadyRegistered.
Фоновая задача уже зарегистрирована. Это сообщение журнала событий
содержит следующие данные.

Сообщение: обработчик для приложения уже зарегистрирован для
контейнера устройства.

Идентификатор контейнера устройства

Полное имя пакета приложения
Идентификатор события: 222 Информация:
DsmRegisterErrorBackgroundTask.
Не удалось зарегистрировать фоновую задачу. Это сообщение журнала событий
содержит следующие данные.
Сообщение: контейнер устройства и приложение указывают сведения о
фоновой задаче, но регистрация завершилась сбоем с ошибкой.
Идентификатор контейнера устройства
Полное имя пакета приложения
Код ошибки Win32
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 33
Идентификатор события: 223 Информация:
DsmUnregisterPrintBackgroundTask.
Отменена регистрация для фоновой задачи печати после удаления
приложения. Это сообщение журнала событий содержит следующие
данные.

Сообщение: отменена регистрация для фоновой задачи печати после
удаления приложения.

Полное имя пакета приложения
Идентификатор события: 224 Информация:
DsmUnregisterMobileOperatorBackgroundTask.
Отменена регистрация для фоновой задачи высокоскоростного мобильного
подключения после удаления приложения. Это сообщение журнала
событий содержит следующие данные.

Сообщение: отменена регистрация для фоновой задачи оператора
мобильной связи после удаления приложения.

Полное имя пакета приложения
Глоссарий
DMRC
Клиент получения метаданных устройств, управляющий операциями с
метаданными устройств в Windows 7.
WMIS
Службы метаданных и Интернета для Windows, обрабатывающие пакеты
метаданных устройств, которые добавляют партнеры на информационную
панель через Интернет.
Информационная панель раздела оборудования в Центре разработки для
Windows
Это веб-сайт, позволяющий разработчикам квалифицировать свои
устройства и приложения для программы сертификации Майкрософт. Затем
вы сможете предоставлять сведения о своих продуктах на сайты с перечнем
продуктов для Windows, а также обновлять параметры распространения
драйверов в Центре обновления Windows, получать от пользователей
данные о сбоях и предоставлять пакеты метаданных устройств.
Подробнее см. в разделе Ресурсы в конце данного документа.
Хранилище метаданных устройств
%programdata%\Microsoft\Windows\DeviceMetadataStore\
Папка, в которую пользователи и приложения копируют пакеты метаданных
устройств при установке пакетов в локальной системе.
Кэш метаданных устройств
%localappdata%\Local\Microsoft\Device Metadata\
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 34
%PROGRAMDATA%\Microsoft\Windows\DeviceMetadataStore (в Windows 8)
Папка, в которой клиент DMRC кэширует распакованный пакет метаданных
устройства. Все распакованные пакеты метаданных устройств, например
загруженные с сервера WMIS или установленные в локальном хранилище
метаданных, сохраняются в этой папке.
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Конвейер пакетов метаданных устройств — 35
Ресурсы
MSDN
Возвращаемые значения BITS
http://msdn.microsoft.com/en-us/library/aa362823(VS.85).aspx
Функция CopyFile
http://msdn2.microsoft.com/en-us/library/aa363851.aspx
Сайт оборудования в Центре разработки для Windows
Создание пакета метаданных устройства для компонента "Устройства и
принтеры"
http://msdn.microsoft.com/en-us/library/windows/hardware/gg463145.aspx
Комплект разработки драйверов для Windows
Установка устройства и драйвера
http://msdn2.microsoft.com/en-us/library/aa972910.aspx
Создание INF-файлов для разных платформ и операционных систем
http://msdn.microsoft.com/en-us/library/ff540206.aspx
INF-файлы
http://msdn.microsoft.com/en-us/library/ff547402.aspx
10 определений кода состояния
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10
28 сентября 2012 г.
© Корпорация Майкрософт (Microsoft Corporation), 2012. Все права защищены.
Download