2.  Если идентификатор целевого устройства есть в индексной таблице DMRC, клиент DMRC определяет, не нужно ли повторить запрос на сервер WMIS.

·  Если клиент DMRC ранее получил пакет метаданных устройства, он сравнивает значение раздела реестра CheckBackMDRetrieved со значением, полученным после вычитания из сегодняшней даты значения LastCheckedDate. Если значение CheckBackMDRetrieved меньше, клиент DMRC отправляет запрос на сервер WMIS.

·  Если клиент DMRC ранее не получал пакета метаданных устройства, он сравнивает значение раздела реестра CheckBackMDNotRetrieved со значением, полученным после вычитания из сегодняшней даты значения LastCheckedDate. Если значение CheckBackMDNotRetrieved меньше, клиент DMRC отправляет запрос на сервер WMIS.

На рис. 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

Значение

От 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 по целевому устройству.

Примечание. Описанные изменения можно вносить только при тестировании пакетов метаданных. Вы не должны предоставлять пользователям какие-либо средства для внесения таких изменений, а также сообщать им о возможности использования механизмов принудительного запроса.

Отладка процесса установки пакета метаданных устройства

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

Проверка установки пакета метаданных устройства

Найдите значок вашего целевого устройства в папке Устройства и принтеры. Если заданный вами значок устройства присутствует в папке Устройства и принтеры, то пакет метаданных устройства был установлен правильно, по крайней мере для компонента 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&amp;PID_0047).

3.  Найдите тип свойства в XML-файле ниже:

<Property key="PKEY_Device_HardwareIds" type="VT_VECTOR | VT_LPWSTR" vectorCount="7">

<Value>USB\VID_045E&amp;PID_0047&amp;REV_0300</Value>

<Value>HID\VID_045E&amp;PID_0047&amp;REV_0300</Value>

<Value>USB\VID_045E&amp;PID_0047</Value>

<Value>HID\VID_045E&amp;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-AAB0-806E6F6E6963}">.)

5.  В элементе DDO просмотрите информацию, заданную вами в пакете метаданных устройства. Если значения настроены, пакет метаданных устройства был установлен правильно.

Ниже приведен пример значений свойства (имя значка):

<Property key="PKEY_DeviceDisplay_Icon" type="VT_LPWSTR"> <Value>%programdata%\microsoft\windows\devicemetadatacache\dmrccache\en-us\2ec2ef3b-83d2-4f5d-afa3-31aec5a379dd\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>

Отладка с использованием трассировки событий 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

Операционная система во время загрузки или обработки пакета метаданных устройства регистрирует в журнале следующие события, связанные с ошибками, предупреждениями и информационными сообщениями.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6