Классы стандартных устройств Windows



    Все современные компьютерные устройства имеют уникальные аппаратные идентификаторы ( PnP ID или просто ID ), в которых указываются производитель ( Vendor ID) , тип и класс устройства (Device ID). Идентификатор устройства может быть считан программно, и является исходной информацией для привязки соответствующего драйвера к данному устройству. Другими словами, PnP-ID – это код, который считывается средствами операционной системы (ОС) и используется для загрузки соответствующего драйвера. Если ОС не распознает идентификатор, или загрузка драйвера невозможна (нет нужных файлов, драйвер отключен или неверно задан параметр Start, определяющий тип его запуска), то использование данного устройства невозможно. А в случае, когда выполняется загрузка Windows, и на начальном этапе загрузки драйверов (с параметром Start = 0) возникает описанная выше ситуация c невозможностью использования драйвера дискового контроллера, то загрузка завершается критической ошибкой с кодом 0x0000007B Inaccessible Boot Device (Stop 7B). Данная ошибка довольно часто возникала в устаревших ОС Windows (XP-7) при замене материнских плат, когда идентификатор нового дискового контроллера не распознавался системой и загрузка нужного драйвера была невозможна. Однако, подобная ситуация не может быть полностью исключена и на современных ОС Windows 10-11.

Идентификатор устройства можно посмотреть в диспетчере устройств, выбрав ”Свойства” - ”Сведения” - ”ИД оборудования”. Например, для стандартного дискового контроллера AHCI :

PCI\VEN_8086&DEV_8C02&SUBSYS 78211462&REV_05

Этот идентификатор относится к устройству на шине PCI, производства Intel (VEN_8086), которое относится к контроллерам жестких дисков (DEV_8C02). Прочие данные идентификатора (SUBSYS_78211462…) могут описывать некоторые особенности устройства, которые, например, могут учитываться драйверами при оптимизации его использования (например, версия прошивки).

При установке драйвера устройства используется специальные INF-файлы, в которых содержится информация об идентификаторе, файлах драйвера и классе устройства.

; Copyright (c) Microsoft Corporation. All rights reserved.

[Version]
Signature="$WINDOWS NT$"
Class=hdc
ClassGuid = {4D36E96A - E325 - 11CE - BFC1 - 08002BE10318}
Provider=%MS%
DriverVer=06/21/2006, 6.1.7601.17514

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
msahci.sys = 3426
intelide.sys = 3426
. . .
. . .
[Manufacturer]
%MS-Drivers%= MS_HDC, NTamd64
%IODATA%= IODATA_HDC, NTamd64
. . .
. . .
[INTEL_HDC.NTamd64]
%PCI\VEN_8086&DEV_1222. DeviceDesc%= intelide_Inst, PCI\ VEN_8086&DEV_1222 ;Intel PIIX
%PCI\VEN_8086&DEV_1230. DeviceDesc%= intelide_Inst, PCI\ VEN_8086&DEV_1230 ;Intel PIIX
%PCI\VEN_8086&DEV_7010. DeviceDesc%= intelide_Inst, PCI\ VEN_8086&DEV_7010 ;Intel PIIX3
. . .
. . .


Символ точки с запятой (;), в inf-файлах используется в качестве признака начала поля комментария. Строка символов, заключенная в квадратные скобки указывает на секцию inf-файла, которая может содержать один или несколько параметров. Как минимум, в inf-файлах присутствуют параметры, определяющие операционную систему, для установки в которую предназначен драйвер, класс устройств, который должен обслуживать данный драйвер, имена файлов драйвера и аппаратные идентификаторы устройств (ИД оборудования), которые обслуживаются данным драйвером.

В представленном выше примере, приведены фрагменты inf-файла для стандартного дискового SATA контроллера, который может обслуживать несколько десятков устройств разных производителей, объединенных в класс контроллеров жестких дисков ( Class=hdc ) с глобальным уникальным идентификатором ClassGuid={4D36E96A- E325-11CE-BFC1- 08002BE10318}.
Каждое устройство в среде операционных систем семейства Windows принадлежит к какому-либо классу – контроллеров жестких дисков, видеоадаптеров, сетевых карт и т.п. Каждому классу соответствует глобальный уникальный идентификатор - Globally Unique Identifier (GUID). Обозначается GUID в виде наборов шестнадцатеричных цифр, разделяемых дефисами для удобства записи, и заключенными в фигурные скобки.

Перечень GUID классов стандартных устройств Windows

Class ClassGUID Описание устройства
CDROM 4D36E965 - E325 - 11CE - BFC1 -08002BE10318 CD/DVD/Blu-ray drives
DiskDrive 4D36E967 - E325 - 11CE - BFC1 - 08002BE10318 Hard drives
Display 4D36E968 - E325 - 11CE - BFC1 - 08002BE10318 Video adapters
FDC 4D36E969 - E325 - 11CE - BFC1 - 08002BE10318 Floppy controllers
FloppyDisk 4D36E980 - E325 - 11CE - BFC1 - 08002BE10318 Floppy drives
HDC 4D36E96A - E325 - 11CE - BFC1 - 08002BE10318 Hard drive controllers
HIDClass 745A17A0 - 74D3 - 11D0 - B6FE - 00A0C90F57DA Some USB devices
1394 6BDD1FC1 - 810F - 11D0 - BEC7 - 08002BE2092F IEEE 1394 host controller
Image 6BDD1FC6 - 810F - 11D0 - BEC7 - 08002BE2092F Cameras and scanners
Keyboard 4D36E96B - E325 - 11CE - BFC1 - 08002BE10318 Keyboards
Modem 4D36E96D - E325 - 11CE - BFC1 - 08002BE10318 Modems
Mouse 4D36E96F - E325 - 11CE - BFC1 - 08002BE10318 Mice and pointing devices
Media 4D36E96C - E325 - 11CE - BFC1 - 08002BE10318 Audio and video devices
Net 4D36E972 - E325 - 11CE - BFC1 - 08002BE10318 Network adapters
Ports 4D36E978 - E325 - 11CE - BFC1 - 08002BE10318 Serial and parallel ports
SCSIAdapter 4D36E97B - E325 - 11CE - BFC1 - 08002BE10318 SCSI and RAID controllers
System 4D36E97D - E325 - 11CE - BFC1 - 08002BE10318 System buses, bridges, etc.
USB 36FC9E60 - C465 - 11CF - 8056 - 444553540000 USB host controllers and hubs


Существующий в конкретной операционной системе, набор драйверов, определяется содержимым каталога C:\Windows\ System32\ DriverStore\ FileRepository\. Так, например, файлы необходимые для установки стандартного дискового контроллера Microsoft, хранятся в папке, имя которой начинается с mshdc.inf_. Примерный список файлов для Windows 7:

aliide.sys
amdide.sys
atapi.sys
ataport.sys
cmdide.sys
intelide.sys
msahci.sys
mshdc.inf
mshdc.PNF
pciide.sys
pciidex.sys
viaide.sys


Примерный список файлов для Windows 8-11:

atapi.sys
ataport.sys
intelide.sys
mshdc.inf
pciide.sys
pciidex.sys
storahci.sys

Стандартный контроллер SATA от Microsoft в Windows 8-10 использует драйвер storahci.sys, в Windows 7 - msahci.sys.

Полный набор INF-файлов, существующих в операционной системе Windows, хранится в каталоге C:\Windows\inf\.







В начало страницы     |     На главную страницу сайта



Рейтинг@Mail.ru