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


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

Это важно

Метаданные устройства являются устаревшими и будут удалены в будущем выпуске Windows. Сведения о замене этой функции см. в разделе Метаданные контейнера пакетов драйверов.

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

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

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

Имя поля Имя структуры и тип Версия спецификации SMBIOS Смещение Длина Ценность Описание
Изготовитель Сведения о системе (тип 1) 2.0+ 04 ч БАЙТ СТРУНА Индекс строки, завершаемой значением NULL, в массиве dmiStrucBuffer. Эта строка указывает имя производителя компьютера.
Семья Сведения о системе (тип 1) 2.4+ 1 Ач БАЙТ СТРУНА Индекс строки, завершаемой значением NULL, в массиве dmiStrucBuffer. Эта строка указывает семейство, к которому принадлежит определенный компьютер. Семейство относится к набору компьютеров, которые похожи, но не идентичны с точки зрения оборудования или программного обеспечения. Обычно семейство состоит из различных компьютерных моделей, которые имеют разные конфигурации и ценовые точки. Компьютеры в одной семье часто имеют аналогичные фирменные и косметические функции.
Название продукта Сведения о системе (тип 1) 2.0+ 05:00 БАЙТ СТРУНА Индекс строки, завершаемой значением NULL, в массиве dmiStrucBuffer. Эта строка указывает имя продукта компьютера.
Поставщик Сведения BIOS (тип 0) 2.0+ 04 ч БАЙТ СТРУНА Индекс строки, завершаемой значением NULL, в массиве dmiStrucBuffer. Эта строка указывает имя поставщика BIOS.
Версия BIOS Сведения BIOS (тип 0) 2.+0 05:00 БАЙТ СТРУНА Индекс строки, завершаемой значением NULL, в массиве dmiStrucBuffer. Эта строка может содержать сведения о версии ядра процессора и OEM.
Основной выпуск системного BIOS Сведения BIOS (тип 0) 2.4+ 14 ч БАЙТ Возможны разные варианты. Основной выпуск системного BIOS.
Минорное обновление СИСТЕМНОГО BIOS Сведения BIOS (тип 0) 2.4+ 15ч БАЙТ Меняется Минорный выпуск системного BIOS.
Тип корпуса Корпус системы (тип 3) 2.0+ 05:00 БАЙТ Меняется Системный корпус или типы шасси.
Номер SKU Номер SKU (тип 1) 2.4+ 19:00 БАЙТ СТРУНА Идентификация конкретной конфигурации компьютера для продажи.
Изготовитель базовой доски Производитель (тип 2) 04 ч БАЙТ СТРУНА Число строк, завершаемых значением NULL. Эта строка идентифицирует производителя основной платы, где тип платы 0Ah — материнская плата.
Продукт базовой панели Продукт (тип 2) 05:00 БАЙТ СТРУНА Число строк, завершаемых значением NULL. Эта строка идентифицирует имя продукта системной платы, где тип системной платы — 0Ah (материнская плата).

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

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

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

Это важно

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

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

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

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

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

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

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

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

Замечание

Для метаданных устройства Windows 7 HardwareID-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}

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