Указание идентификаторов оборудования для компьютера
Устройства и принтеры распознают компьютер как контейнер устройств. В результате компьютер можно идентифицировать в пакете метаданных устройства с помощью 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.