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


Совместимый идентификатор

Совместимый идентификатор — это определяемая поставщиком строка идентификации, которую Windows использует для сопоставления устройства с пакетом драйвера. Совместимый идентификатор определяет, что устройство соответствует определенному уровню конкретности и указывает, что любой пакет драйвера, объявляющий, что он может работать с устройством, которое имеет этот идентификатор, может работать с этим устройством для определенной степени функциональности. Совместимые идентификаторы имеют тот же формат, что и идентификаторы оборудования , но обычно являются более универсальным описанием устройства, чем идентификатор оборудования. Устройство может иметь связанный с ним список совместимых идентификаторов. Совместимые идентификаторы должны быть перечислены в порядке уменьшения пригодности. Если Windows не может найти пакет драйвера, соответствующий одному из аппаратных идентификаторов устройства, он использует совместимые идентификаторы для поиска пакета драйвера. Например, список концептуальных совместимых идентификаторов для устройства может выглядеть следующим образом:

<Product X made by company Y>
<Device of type W made by company Y>
<Device of type W>

Где фактически совместимые идентификаторы представляют эти понятия с помощью строк, которые соответствуют требованиям к формату совместимого идентификатора.

Чтобы найти совместимые идентификаторы для данного устройства, выберите устройство в диспетчере устройств, откройте "Свойства", затем перейдите на вкладку "Сведения" и используйте раскрывающийся список "Свойства".

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

Список совместимых идентификаторов можно получить программным способом, извлекая свойство DEVPKEY_Device_CompatibleIds на устройстве. Например, это свойство можно получить с помощью API,таких как IoGetDevicePropertyData, SetupDiGetDevicePropertyили CM_Get_DevNode_Property.

Список совместимых идентификаторов, которые извлекает эта подпрограмма, имеет значение REG_MULTI_SZ. Максимальное число символов в списке совместимых идентификаторов, включая терминатор NULL после каждого совместимого идентификатора и окончательный терминатор NULL, равно REGSTR_VAL_MAX_HCID_LEN. Максимальное количество идентификаторов в списке совместимых идентификаторов — 64.

идентификаторы оборудования