Прочитать на английском

Поделиться через


Устранение неполадок с реализацией идентификаторов контейнеров

Если в пользовательском интерфейсе устройств и принтеров отображается более одного экземпляра устройства, когда ожидается только один, устройство не реализует требования к идентификатору контейнера. Неправильная реализация заставляет менеджер Plug and Play (PnP) группировать один или несколько узлов устройств (devnodes) в дополнительные контейнеры для данного устройства.

В таком случае следует проверить следующее:

  • Правильно ли установлена возможность подключения съемных устройств для каждого devnode, который перечислен для устройства?

    Это наиболее распространенная причина появления нескольких экземпляров устройств в интерфейсе «Устройства и принтеры». Убедитесь, что каждый devnode для устройства имеет соответствующий набор возможностей съемных устройств. Самый верхний или родительский devnode устройства должен быть указан как съемное, и все его дочерние элементы должны быть указаны как несъемные. Пользовательские реализации драйвера шины должны правильно назначать съемные связи для devnodes, которые они перечисляют.

    Диспетчер устройств — это ценное средство для диагностики этих проблем. Чтобы проверить полную иерархию devnode, выполните следующие действия.

    1. Щелкните правой кнопкой мыши значок "Мой компьютер", а затем щелкните "Управление". и выберите Диспетчер устройств из системных инструментов, перечисленных на появившемся экране.
    2. Нажмите "Сортировка по подключению" в раскрывающемся меню.
    3. Найдите узлы устройства, из которых состоит ваше устройство. Для каждого devnode щелкните правой кнопкой мыши на узле, затем выберите пункт Свойства.
    4. На вкладке Сведения, в раскрывающемся списке свойств , щелкните Возможности.

    Если список значений возможностей для devnode содержит флаг CM_DEVCAP_REMOVABLE, devnode помечается как съемный. Затем диспетчер Plug and Play (PnP) создает новый контейнер устройств для "devnode" и его дочерних элементов, который не может быть удалён.

    Дополнительные сведения о возможностях съемных устройств см. в разделе Идентификаторы контейнеров, созданные из возможности съемных устройств.

    Дополнительные сведения об диспетчере устройств см. в разделе Использование диспетчера устройств.

  • Содержит ли устройство идентификатор контейнера или другой уникальный идентификатор в оборудовании?

    Убедитесь, что формат идентификатора контейнера или уникального идентификатора в оборудовании соответствует требованиям к формату заданной шины. Дополнительные сведения см. в разделе идентификаторы контейнеров, созданные на основе уникального идентификатораBus-Specific.

    Если devnodes для устройства перечисляются пользовательским драйвером шины, убедитесь, что драйвер шины правильно отвечает на запрос IRP_MN_QUERY_ID для BusQueryContainerID.

  • Одновременно ли устройство подключено к компьютеру несколькими шинами?

    Если устройство одновременно подключено к компьютеру двумя или более автобусами, два или более экземпляров устройства могут отображаться в пользовательском интерфейсе устройств и принтеров. Эти экземпляры могут иметь один или несколько экземпляров устройств для каждой шины, к которой подключено устройство. Чтобы устранить эту проблему, убедитесь, что устройство передает идентификатор контейнера или уникальный идентификатор конкретного устройства и передает одинаковое значение на каждой шине.