Классы стандартных устройств Windows
    Все современные компьютерные устройства имеют уникальные аппаратные идентификаторы ( PnP ID или просто ID ), в которых указываются производитель ( Vendor ID) , тип и класс устройства (Device ID). Идентификатор устройства может быть считан программно и является исходной информацией для привязки соответствующего драйвера к данному устройству. Идентификатор устройства можно посмотреть в диспетчере устройств, выбрав ”Свойства” — ”Сведения” — ”ИД оборудования”. Например, для стандартного контроллера AHCI :
Этот идентификатор относится к устройству на шине 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
Символ точки с запятой ( ; ), в 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-10:
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\ .
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»
Классы WMI, пространство имен и CIM
Любой элемент системы, будь то служба или устройство, управляемое средствами Windows Management Instrumentation соответствует заданный класс. В свою очередь, каждый класс WMI содержит четко определенную структуру, свойства, методы и квалификаторы (сами квалификаторы могут присутствовать у методов, свойств и классов). Для описания классов используется язык MOF (Managed Object Format), который в свою очередь основывается на языке IDL (Interface Definition Language), язык IDL используется при описании интерфейса для COM-объектов.
Все классы WMI можно разделить на типы, исходя из способа хранения информации об управляемом ресурсе.
Типы классов WMI – хранение информации
Абстрактный класс ( abstract class ) – формирование новых классов-потомков (абстрактных и неабстрактных), служит как шаблон. Данный тип класса нельзя использовать для получения экземпляра управляемого ресурса.
Статический класс ( static class ) – позволяет определить данные, физически хранящиеся в репозитории CIM (например, данные относительно собственных настроек WMI). При доступе к экземплярам статических классов нет необходимости прибегать к помощи провайдеров.
Динамический класс ( dynamic class ) – формирует управляемый ресурс, данные о котором возвращаются в динамическом режиме соответствующим провайдером.
Ассоциативный класс ( association class ) – является абстрактным, статическим или динамическим классом, он отвечает за описание логической связи между двумя классами или же управляемыми ресурсами. Для примера, можно просмотреть ассоциативные классы средствами CIM Studio. Необходимость в ассоциативных класса исходит из того, что практически все объекты системы находятся в тесной связи, например, объект «компьютер» включает объекты «процессор», «программное обеспечение», «операционная система», «активный процесс» и т. д.
Исходя из информативной модели, классы также разделяют на типы.
Типы классов WMI – информативная модель
Системные классы – используются для формирования конфигурации и выполнения внутренних функций WMI. Данный тип классов WMI может быть статичным или абстрактным. Все названия системных классов начинаются с двойного подчеркивания, например, __NAMESPACE, __Win32Provider.
Классы основной модели ( core model ) – сюда относятся абстрактные классы, обеспечивающие интерфейс со всеми областями управления. Имена этих классов начинаются с префикса «CIM_», например, CIM_ManagedSystemElement.
Классы общей модели ( common model ) – по сути, общая модель есть расширение основной модели. Тут находятся WMI классы, которые не зависят от конкретной технологии или реализации, то есть, не зависят от типа ОС). Имена данных классов также начинаются с префикса «CIM_», например, CIM_LogicalFile.
Классы модели расширения ( extension model ) – классы этой категории включает в себя специфичные для каждой технологии или реализации дополнения к общей модели. Имена данных классов начинаются с префикса «Win32_», например, Win32_PageFile.
Как упоминалось выше, классам присущие такие понятия как свойства, методы и квалификаторы.
CIM и пространство имен
Прежде чем двигаться дальше, рассмотрим такие понятия:
Менеджер объектов CIM (CIMOM) отвечает за формирование связи между управляющими приложениями WMI (потребители событий, собственно, приложения, которые используют функциональные возможности WMI) и провайдерами WMI. Задачей менеджера CIM является обработка всех поступающих от управляющих приложений запросов к WMI и доставка к данным приложениям информации, полученной по ходу выполнения данных запросов.
Репозиторий CIM является своеобразным хранилищем WMI классов и объектов. Так как количество управляемых объектов системы всегда разное, то и количество хранящихся в репозитории CIM классов сильно зависит от версии ОС, удобным инструментом для просмотра и работы с классами является утилита WMI CIM Studio из пакета WMI Tools. Думаю, что не ошибусь, если скажу, что обще количество классов может превышать 3000-4000, отсюда следует один неприятный момент… Осилить в идеале весть Windows Management Instrumentation и его функционал просто нереально.
Поскольку Windows Management Instrumentation является иерархической системой, то все классы в репозитории CIM сгруппированы по своей принадлежности в пространства имен (namespaces). Пространства имен также формируют иерархическую структуру (как каталоги в операционной системе), корневым пространством имен является Root). Количество пространства имен, как и количество классов, зависит от операционной системы. Однако, четыре пространства имен всегда присутствуют и находятся на один уровень ниже корневого пространства Root, это:
Стоит учитывать, что пространство имен может содержать подпространства, так в пространство CIMV2 входят подпространства имен Applications и ms_409. Также возможна ситуация, когда провайдеры WMI формируют собственные пространства имен, так пространство WMI определяется WMI-провайдером для драйверов устройств (Провайдеры WMI — знакомство).
Относительно классов WMI, которые находятся в репозитории CIM, существуют некоторые правила:
- Имена всех классов в одном пространстве имен должны быть уникальными
- Класс из одного пространства имен не может иметь потомка или предка из другого пространства имен.
Спасибо за внимание. Автор блога Владимир Баталий
blog.eaglenn.ru | Заметки IT инженера
Microsoft, Linux, Lync и etc……
Классы системных устройств Windows
Следующие классы и GUID, определяются операционной системой. Если не указано иное, эти классы и идентификаторы GUID могут быть использованы для установки устройств (или драйверов) на Windows 2000 и в более поздних версиях:
Класс = батареи ClassGuid =
Этот класс включает в себя аккумуляторную батарею и устройства бесперебойного питания.
Класс = Биометрические ClassGuid =
(Windows Server 2003 и более поздних версиях Windows) Этот класс включает в себя все биометрические основа удостоверяющие личность.
Класс = Bluetooth ClassGuid =
(Windows XP SP1 и более поздних версиях Windows) Этот класс включает все устройства Bluetooth.
Класс = CDROM ClassGuid =
Этот класс включает в себя CD-ROM привод, в том числе SCSI CD-ROM привод. По умолчанию, CD-ROM класс установщика системы также устанавливает системный и поставляет CD Audio драйвер и CD-ROM драйвер чейнджера.
Класс = DiskDrive ClassGuid =
Этот класс включает в себя жесткие диски. Смотрите также классы HDC и SCSIAdapter.
Класс = Показать ClassGuid =
Этот класс включает в себя видео адаптер. Драйверы для этого класса включают в себя драйвер дисплея и драйвер видео мини-порта.
Класс = FDC ClassGuid =
Этот класс включает в себя контроллеры дисковода.
Дисководы гибких дисков
Класс = FloppyDisk ClassGuid =
Этот класс включает в себя гибкие диски.
Класс = HDC ClassGuid =
Этот класс включает в себя контроллеры жестких дисков, в том числе ATA / ATAPI контроллеры, но не SCSI и RAID-контроллеры дисков.
Устройства интерфейса (HID)
Класс = HIDClass ClassGuid =
Этот класс включает в себя интерактивные устройства ввода, которые находятся в ведении системы. Это включает в себя USB-устройства, отвечающие требованиям USB HID Standard и не-USB устройств, которые используют HID мини-драйвер.
IEEE 1284.4 Устройства
Класс = Dot4 ClassGuid =
Этот класс включает в себя устройства, которые управляют работой многофункциональных IEEE 1284.4 периферийных устройств.
IEEE 1284.4 функции печати
Класс = Dot4Print ClassGuid =
Этот класс включает в себя функции печати DOT4. Функция печати DOT4 является функцией для устройства DOT4.
IEEE 1394 устройств, поддерживающих протокол 61883
Класс = 61883 ClassGuid =
Этот класс включает в себя IEEE 1394 устройства, поддерживающие класс протокола устройства IEC-61883.
Компонент 61883 включает в себя 61883.sys драйвер протокола, который передает различные потоки аудио и видео данных по шине 1394. В настоящее время они включают в себя стандартные / высокое / низкое качество DV, MPEG2, DSS, а также аудио.
IEEE 1394 устройства, поддерживающие протокол AVC
Класс = AVC ClassGuid =
Этот класс включает в себя IEEE 1394 устройства, поддерживающие класс протокола устройства AVC.
IEEE 1394 устройства, поддерживающие протокол sbp2
Класс = SBP2 ClassGuid =
Этот класс включает в себя IEEE 1394 устройства, поддерживающие класс устройств протокола SBP2.
IEEE 1394 хост-контроллера шины
Класс = 1394 ClassGuid =
Этот класс включает в себя 1394 хост-контроллера, подключенные по шине PCI, но не 1394 периферийных устройств.
Класс = Изображение ClassGuid =
Этот класс включает в себя устройства захвата неподвижных изображений, цифровых камер и сканеров.
Класс = Инфракрасный ClassGuid =
Этот класс включает в себя инфракрасные устройства. Драйверы для этого класса включают Serial-IR и IR минипорты NDIS, но необходимо также обратить внимание на класс сетевого адаптере для других NDIS сетевых адаптеров минипорта.
Класс = Keyboard ClassGuid =
Этот класс включает в себя все клавиатуры. То есть, это также должно быть указано в (вторичной) INF перечислении.
Класс = MediumChanger ClassGuid =
Этот класс включает в себя сменные SCSI устройства.
Класс = MTD ClassGuid =
Этот класс включает в себя устройства памяти, например, флэш-карт.
Класс = Модем ClassGuid =
Этот класс включает модемные устройства . INF-файл для устройства этого класса определяет функции и конфигурацию устройства и сохраняет эту информацию в реестре. INF-файл для устройства этого класса также могут быть использованы для установки драйверов устройств для controllerless модема или программного модема . Эти устройства разделяют функции между устройством модема и драйвера устройства.
Класс = Monitor ClassGuid =
Этот класс включает в себя дисплей монитора. INF для устройства этого класса не устанавливает хозяина устройства, но определяет особенности конкретного монитора, чтобы быть сохраненным в реестре для использования видеоадаптеров. (Мониторы перечислены в виде дочерних устройств видеоадаптеров.)
Класс = мышь ClassGuid =
Этот класс включает все устройства, мыши и другие виды устройств ввода, таких как трекболы. То есть, этот класс также должен быть указан в (вторичной) INF для перечисляемого устройства.
Класс = Многофункциональный ClassGuid =
Этот класс включает комбо-карты, такие как модем PCMCIA и сетевые карты адаптера.
Класс = Медиа ClassGuid =
Этот класс включает в себя аудио и DVD-мультимедийные устройства, джойстик портов и видео с устройств захвата.
Концентратор последовательных адаптеров
Класс = MultiportSerial ClassGuid =
Этот класс включает в себя интеллектуальные многопортовые последовательные карты, но не периферийные устройства, которые подключаются к его портам. Он не включает неразумные (16550-типа) многопортовые последовательные контроллеры или серийные контроллеры с одним портом (см класс портов).
Класс = Чистая ClassGuid =
Этот класс включает NDIS драйверы мини-порта исключая драйвер мини-порта Fast-ИК, промежуточные драйвера NDIS (виртуальных адаптеров), и CoNDIS MCM драйверы мини-порта.
Класс = NetClient ClassGuid =
Этот класс включает в себя сетевые принтеры или поставщиков печати.
Класс = Netservice ClassGuid =
Этот класс включает в себя сетевые услуги, такие как переадресация.
CLASS = NetTrans ClassGuid =
Этот класс включает NDIS протоколы CoNDIS автономных менеджеров вызова, а также клиентов CoNDIS, в дополнение к более высоким драйверам в транспортных стеках.
PCI SSL Accelerator
Класс = SecurityAccelerator ClassGuid =
Этот класс включает в себя устройства, которые ускоряют работу защищенных сокетов (SSL) при криптографической обработке.
Класс = PCMCIA ClassGuid =
Этот класс включает в себя PCMCIA и хост-контроллеры CardBus, но не PCMCIA или CardBus периферийных устройств.
Порты (порты COM и LPT)
CLASS = Порты ClassGuid =
Этот класс включает в себя последовательные и параллельные порты устройств. Смотрите также класс MultiportSerial.
Класс = принтера ClassGuid =
Этот класс включает в себя принтеры.
Принтеры, Bus-специальных драйверов класса
CLASS = PNPPrinters ClassGuid =
Этот класс включает в себя SCSI / 1394 принтеры. Драйверы для этого класса обеспечивают связь принтера и конкретного BUS.
Класс = Процессор ClassGuid =
Этот класс включает в себя все процессоры.
SCSI и RAID-контроллеры
Класс = SCSIAdapter ClassGuid =
Этот класс включает в себя SCSI HBA-адаптеров (адаптеры шины) и контроллера дискового массива.
Класс = Датчик ClassGuid =
(Используется в Windows 7 и более поздних версиях.) Этот класс включает в себя датчик и устройство определения местоположения, такие как GPS устройств.
Класс = SmartCardReader ClassGuid =
Этот класс включает в себя считыватели смарт-карт.
Класс = Объем ClassGuid =
Этот класс включает в себя объемы хранения, как определено в Logical Volume Manager и классах системных драйверов, которые создают объекты устройств для отображения объема хранения.
Класс = System ClassGuid =
Этот класс включает в себя системные шины, системные мосты, драйвер системы ACPI, а также драйвер менеджера системного тома.
Класс = TapeDrive ClassGuid =
Этот класс включает в себя накопители на магнитной ленте, в том числе все устройства лент мини-класса.
Класс = USBDevice ClassGuid =
USB Device включает все устройства USB, которые не принадлежат к другому классу. Этот класс не используется для хост-контроллеров USB и концентраторов.
Windows CE устройства USB ActiveSync
Класс = WCEUSBS ClassGuid =
Этот класс включает в себя устройства Windows CE ActiveSync.
Класс установки WCEUSBS поддерживает связь между персональным компьютером и устройством, совместимым с драйвером Windows CE ActiveSync (как правило, PocketPC устройства) по USB.
Портативные устройства Windows (WPD)
Класс = WPD ClassGuid =
(Поддерживается в Windows Vista и более поздних версиях Windows) Этот класс включает WPD устройства.
Класс = SideShow ClassGuid =
(Поддерживается в Windows Vista и более поздних версиях Windows) Этот класс включает все устройства, которые совместимы с Windows SideShow.