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


Указание идентификаторов оборудования для компьютера

Устройства и принтеры распознают компьютер как контейнер устройств. В результате компьютер можно идентифицировать в пакете метаданных устройства с помощью XML-элемента HardwareID , указывающего уникальное значение идентификатора оборудования . Это значение идентификатора оборудования для компьютера (иногда называемое идентификатором оборудования компьютера или CHID) может указывать сочетание данных поля SYSTEM Management BIOS (SMBIOS).

В отличие от идентификаторов оборудования для других контейнеров устройств, идентификатор оборудования для компьютера создается Windows при каждой загрузке системы. Идентификаторы оборудования для компьютера можно создать, запустив средство ComputerHardwareIds (ComputerHardwareIDs.exe), которое входит в комплект драйверов Windows (WDK) для Windows 7, Windows 8 и Windows 8.1. Начиная с Windows 10, средство ComputerHardwareIds входит в пакет SDK.

Средство ComputerHardwareIds создает набор идентификаторов оборудования для компьютера, основанных на информации из полей в BIOS системы управления системой (SMBIOS). Эти поля SMBIOS описаны в следующей таблице.

Имя поля Имя и тип структуры Версия спецификации SMBIOS Offset Длина Значение Описание
Изготовитель Сведения о системе (тип 1) 2.0+ 04h BYTE STRING Индекс строки, заканчивающейся значением NULL, в массиве dmiStrucBuffer. Эта строка указывает имя изготовителя компьютера.
Семейство Сведения о системе (тип 1) 2.4+ 1Ah BYTE STRING Индекс строки, заканчивающейся значением NULL, в массиве dmiStrucBuffer. Эта строка указывает семейство, к которому принадлежит определенный компьютер. Семейство относится к набору компьютеров, которые похожи, но не идентичны с аппаратной или программной точки зрения. Как правило, семейство состоит из разных моделей компьютеров, которые имеют разные конфигурации и ценовые точки. Компьютеры в одной семье часто имеют аналогичные фирменные и косметические функции.
Название продукта Сведения о системе (тип 1) 2.0+ 05h BYTE STRING Индекс строки, заканчивающейся значением NULL, в массиве dmiStrucBuffer. Эта строка указывает имя продукта компьютера.
Vendor Сведения о BIOS (тип 0) 2.0+ 04h BYTE STRING Индекс строки, заканчивающейся значением NULL, в массиве dmiStrucBuffer. Эта строка указывает имя поставщика BIOS.
Версия BIOS Сведения о BIOS (тип 0) 2.+0 05h BYTE STRING Индекс строки, заканчивающейся значением NULL, в массиве dmiStrucBuffer. Эта строка может содержать сведения о ядре процессора и версии OEM.
Основной выпуск BIOS системы Сведения о BIOS (тип 0) 2.4+ 14 ч BYTE Возможны разные варианты. Основной выпуск BIOS системы.
Дополнительный выпуск BIOS системы Сведения о BIOS (тип 0) 2.4+ 15h BYTE Различается Дополнительный выпуск BIOS системы.
Тип корпуса Корпус системы (тип 3) 2.0+ 05h BYTE Различается Типы корпуса или корпуса системы.
Номер SKU Номер SKU (тип 1) 2.4+ 19h BYTE STRING Идентификация конкретной конфигурации компьютера для продажи.
Изготовитель основной платы Производитель (тип 2) 04h BYTE STRING Число строк, завершаемых значением NULL. Эта строка идентифицирует изготовителя основной платы, где тип основной платы имеет значение 0Ah (системная плата).
Продукт основной платы Продукт (тип 2) 05h BYTE STRING Число строк, завершаемых значением NULL. Эта строка идентифицирует название продукта основной платы, где тип baseboard — Board имеет значение 0Ah (системная плата).

Дополнительные сведения о массиве dmiStrucBuffer и полях SMBIOS см. в спецификации SYSTEM Management BIOS (SMBIOS) на веб-сайте целевой группы распределенного управления (DMTF).

При запуске средства ComputerHardwareIds создаются уникальные идентификаторы оборудования на основе сведений SMBIOS. Каждый идентификатор оборудования является ИДЕНТИФИКАТОРом GUID и создается путем объединения значений из полей SMBIOS.

В следующих таблицах показаны поля SMBIOS, используемые для формирования каждого идентификатора оборудования в Windows 7, Windows 8, Windows 8.1 и Windows 10.

Важно Каждый идентификатор оборудования компьютера создается только в том случае, если каждое отдельное поле SMBIOS, используемое для создания HardwareID, заполняется в данных SMBIOS для системы.

HWID Windows 7
HardwareID-0 Производитель + семейство + название продукта + поставщик + версия BIOS + основной выпуск BIOS системы + дополнительный выпуск BIOS системы
HardwareID-1 Производитель + Название продукта + Поставщик BIOS + Версия BIOS + Основной выпуск BIOS системы + Дополнительный выпуск BIOS системы
HardwareID-2 Manufacturer + Family + ProductName
HardwareID-3 Manufacturer + ProductName
HardwareID-4 Производитель и семейство
HardwareID-5 Производитель + тип корпуса
HardwareID-6 Изготовитель
HWID Windows 8, Windows 8.1
HardwareID-0 Производитель + семейство + название продукта + номер SKU + поставщик BIOS + версия BIOS + основной выпуск BIOS + дополнительный выпуск BIOS
HardwareID-1 Производитель + семейство + название продукта + поставщик BIOS + версия BIOS + основной выпуск BIOS + дополнительный выпуск BIOS
HardwareID-2 Производитель + название продукта + поставщик BIOS + версия BIOS + основной выпуск BIOS + дополнительный выпуск BIOS
HardwareID-3 Производитель + семейство + productName + номер SKU
HardwareID-4 Manufacturer + Family + ProductName
HardwareID-5 Производитель + номер SKU
HardwareID-6 Manufacturer + ProductName
HardwareID-7 Производитель и семейство
HardwareID-8 Производитель + тип корпуса
HardwareID-9 Изготовитель
HWID Windows 10
HardwareID-0 Производитель + семейство + название продукта + номер SKU + поставщик BIOS + версия BIOS + основной выпуск BIOS + дополнительный выпуск BIOS
HardwareID-1 Производитель + семейство + название продукта + поставщик BIOS + версия BIOS + основной выпуск BIOS + дополнительный выпуск BIOS
HardwareID-2 Производитель + название продукта + поставщик BIOS + версия BIOS + основной выпуск BIOS + дополнительный выпуск BIOS
HardwareID-3 Производитель + семейство + название продукта + номер SKU + изготовитель основной платы + продукт основной платы
HardwareID-4 Производитель + семейство + название продукта + номер SKU
HardwareID-5 Производитель + семейство + название продукта
HardwareID-6 Производитель + номер SKU + изготовитель основной платы + продукт основной платы
HardwareID-7 Производитель + номер SKU
HardwareID-8 Производитель + название продукта + изготовитель основной платы + продукт основной платы
HardwareID-9 Производитель + название продукта
HardwareID-10 Производитель + семейство + изготовитель основной платы + продукт основной платы
HardwareID-11 Производитель и семейство
HardwareID-12 Производитель + тип корпуса
HardwareID-13 Производитель + Изготовитель основной платы + Продукт основной платы
HardwareID-14 Изготовитель

Каждая строка идентификатора оборудования преобразуется в GUID с помощью алгоритма хэширования SHA-1.

Использование идентификаторов оборудования компьютера с пакетами метаданных устройства ПК

Для систем Windows 7 мы настоятельно рекомендуем поставщикам выполнить указанные ниже действия при выборе значения идентификатора оборудования для использования в качестве значения XML-элемента HardwareID для компьютера.

  • Используйте HardwareID-3 или HardwareID-4 в качестве первого варианта, если пакет метаданных устройства соответствует компьютеру с определенными моделями, семейством и моделью. Это позволяет пакету метаданных соответствовать указанному компьютеру, который предоставляет наиболее точные метаданные для компьютера.

  • Используйте HardwareID-5 в качестве второго варианта, если пакет метаданных устройства охватывает все семейство компьютеров. В этом случае семейство компьютеров является уникальным и не имеет фирменной символики с несколькими линейками продуктов.

  • Используйте HardwareID-6 или HardwareID-7 в качестве третьего варианта, если пакет метаданных устройства охватывает все компьютеры или компьютеры с определенным типом корпуса.

Примечание Для метаданных устройства компьютера с Windows 7 не используйте HardwareID-1 или HardwareID-2 для идентификатора оборудования компьютера. Идентификатор оборудования 1 или HardwareID-2 зарезервирован для использования в будущем.

Примечание Для Windows 8 метаданных устройства ПК настоятельно рекомендуется, чтобы поставщики не использовали HardwareID-1, HardwareID-2, HardwareID-3 для идентификатора оборудования компьютера. HardwareID-1, HardwareID-2, HardwareID-3 зарезервированы для использования в будущем. Вместо этого поставщики могут использовать HardwareID-4, HardwareID-5, HardwareID-6, HardwareID-7, HardwareID-8, HardwareID-9 и HardwareID-10.

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

  • Разделите строку идентификатора оборудования символами "{" и "}".

  • Добавьте префикс ComputerMetadata\перед строкой идентификатора оборудования.

Ниже приведен пример XML-элемента HardwareID для компьютера:

DOID:ComputerMetadata\{c20d5449-511e-4cb5-902a-a541239322aa}

Дополнительные сведения о требованиях к формату xml-элемента HardwareID см. в разделе HardwareID.

Рабочий процесс публикации драйвера Windows 10