|
兩種設(shè)備類
在Windows系統(tǒng)的驅(qū)動(dòng)中,有兩種不同用途的設(shè)備類。在每種類中,系統(tǒng)將具有某種類似特性的設(shè)備組織在一起,從而形成了設(shè)備集。
設(shè)備安裝類:Device Setup Classes
安裝和配置過(guò)程相似的設(shè)備集合。 設(shè)備接口類:Device Interface Classes能夠提供相似能力功能的設(shè)備集合。
正確區(qū)分這兩種類的概念很重要。因?yàn)樗鼈兪褂孟嗤陌惭b函數(shù)以及數(shù)據(jù)結(jié)構(gòu),因此很容易混淆。同時(shí),一個(gè)設(shè)備經(jīng)常會(huì)同時(shí)屬于一個(gè)設(shè)備安裝類以及幾個(gè)設(shè)備接口類。 不管怎樣,這兩種類有著不同的存在目的,使用不同的注冊(cè)區(qū)域,類的GUID也依賴于不同的頭文件集。
設(shè)備安裝類主要為安裝過(guò)程服務(wù),用來(lái)確認(rèn)該類的安裝程序或協(xié)同安裝程序。如所有的CDROM屬于CDROM安裝類,在安裝時(shí),使用相同的安裝程序。
設(shè)備接口類提供了將具有相同特性的設(shè)備分組。除跟蹤某一設(shè)備是否存在在系統(tǒng)中之外,驅(qū)動(dòng)程序和用戶也可以在設(shè)備接入或移出時(shí)得到通知。
安裝類都在 devguid.h中定義。該文件中只包括了一系列設(shè)備安裝類的GUID,而不包括設(shè)備接口類的GUID。兩者不能混淆。
設(shè)備接口類的定義沒(méi)有在單一文件中提供。只有在屬于某一類特定的設(shè)備文件中,才定義相關(guān)的設(shè)備接口類GUID。例如,ntddmou.h 中包含了 GUID_CLASS_MOUSE,代表鼠標(biāo)類接口。ntddpar.h 定義了并行設(shè)備GUID ; ntddpcm.h 中定義標(biāo)準(zhǔn)PCMCIA 設(shè)備接口; ntddstor.h 中定義存儲(chǔ)設(shè)備接口等。
接口類中定義的 GUID 應(yīng)該在系統(tǒng)中進(jìn)行注冊(cè),以便得到設(shè)備接口變化的通知。沒(méi)有注冊(cè)的接口類無(wú)法獲得設(shè)備變化通知的。
定義新的設(shè)備類或接口類是,切勿使用單一的GUID來(lái)表示這兩個(gè)類。
Windows 系統(tǒng)中已經(jīng)定義的安裝類
具體定義請(qǐng)參考 devguid.h, 典型的符號(hào)名稱為 GUID_DEVCLASS_Xxx。.在注冊(cè)表中的位置是 ..\CurrentControlSet\Control\Class\ClassGUID。
Battery Devices 電池設(shè)備,包括電池和UPS設(shè)備Class = Battery ClassGuid = {72631e54-78a4-11d0-bcf7-00aa00b7b32a} Biometric Device 生物測(cè)量設(shè)備,用于個(gè)人的生命狀態(tài)監(jiān)控
Class = Biometric ClassGuid = {53D29EF7-377C-4D14-864B-EB3A85769359} Bluetooth Devices 藍(lán)牙設(shè)備
Class = Bluetooth ClassGuid = {e0cbf06c-cd8b-4647-bb8a-263b43f0f974} CD-ROM Drives 包括CDROM,SCSI型CDROM,并且提供 CD 音頻驅(qū)動(dòng)及換碟器驅(qū)動(dòng)。
Class = CDROM, ClassGuid = {4d36e965-e325-11ce-bfc1-08002be10318}
Disk Drives 磁盤驅(qū)動(dòng)器,包括硬盤控制器HDC及SCSI 適配器類。Class = DiskDrive ClassGuid = {4d36e967-e325-11ce-bfc1-08002be10318} Display Adapters 顯示接口 包括視頻接口,顯示驅(qū)動(dòng)及微端口驅(qū)動(dòng)。
Class = Display ClassGuid = {4d36e968-e325-11ce-bfc1-08002be10318} Floppy Disk Controllers 軟盤控制器
Class = FDC ClassGuid = {4d36e969-e325-11ce-bfc1-08002be10318} Floppy Disk Drives 軟盤驅(qū)動(dòng)器
Class= FloppyDisk ClassGuid= {4d36e980-e325-11ce-bfc1-08002be10318} Hard Disk Controllers 硬盤控制器,包括ATA,ATAPI接口控制器,但不包括SCSI及RAID控制器。
Class = HDC ClassGuid = {4d36e96a-e325-11ce-bfc1-08002be10318} Human Interface Devices (HID) 人機(jī)接口設(shè)備,交互式輸入設(shè)備,都通過(guò)系統(tǒng)提供的HID類驅(qū)動(dòng)進(jìn)行操作。包括USB設(shè)備和非USB設(shè)備
Class = HIDClass ClassGuid = {745a17a0-74d3-11d0-b6fe-00a0c90f57da} IEEE 1284.4 Devices 1284.4 多功能外圍設(shè)備
Class=Dot4 ClassGuid = {48721b56-6795-11d2-b1a8-0080c72e74a2} IEEE 1284.4 Print Functions 1284.4打印機(jī)功能,屬于1284.4設(shè)備的一個(gè)字設(shè)備。
Class = Dot4Print ClassGuid = {49ce6ac8-6f86-11d2-ble5-0080c72e74a2} IEEE 1394 Devices 同時(shí)支持 61883 協(xié)議,為DV,MPEG2等提供接口。
Class = 61883 ClassGuid = {7ebefbc0-3200-11d2-b4c2-00a0C9697d07} IEEE 1394 Devices 支持 AVC 協(xié)議
Class = AVC ClassGuid = {c06ff265-ae09-48f0-812c-16753d7cba83} IEEE 1394 Devices 支持 SBP2 協(xié)議
Class = SBP2 ClassGuid = {d48179be-ec20-11d1-b6b8-00c04fa372a7} IEEE 1394 總線控制器 包括連接在PCI總線上的1394控制器,但不包括1394外圍設(shè)備。
Class = 1394 ClassGuid = {6bdd1fc1-810f-11d0-bec7-08002be2092f}
Imaging Device 圖像設(shè)備,包括圖像捕捉,數(shù)碼相機(jī)及掃描儀等。
Class = Image ClassGuid = {6bdd1fc6-810f-11d0-bec7-08002be2092f} IrDA Devices 紅外設(shè)備,包括串行和快速紅外網(wǎng)絡(luò)接口。Class = Infrared ClassGuid = {6bdd1fc5-810f-11d0-bec7-08002be2092f} Keyboard 鍵盤類
Class = Keyboard ClassGuid = {4d36e96b-e325-11ce-bfc1-08002be10318} Media Changers 媒體更換裝置
Class = MediumChanger ClassGuid = {ce5939ae-ebde-11d0-b181-0000f8753ec4} Memory Technology Driver 存儲(chǔ)器技術(shù)驅(qū)動(dòng),如閃存卡等。
Class = MTD ClassGuid = {4d36e970-e325-11ce-bfc1-08002be10318} Modem 調(diào)制解調(diào)器
Class = Modem ClassGuid = {4d36e96d-e325-11ce-bfc1-08002be10318} Monitor Class = Monitor
ClassGuid = {4d36e96e-e325-11ce-bfc1-08002be10318} This class includes display monitors. An INF for a device of this class installs no device driver(s), but rather specifies the features of a particular monitor to be stored in the registry for use by drivers of video adapters. (Monitors are enumerated as the child devices of display adapters.)
Mouse Class = Mouse
ClassGuid = {4d36e96f-e325-11ce-bfc1-08002be10318} This class includes all mouse devices and other kinds of pointing devices, such as trackballs. That is, this class also must be specified in the (secondary) INF for an enumerated child HID mouse device.
Multifunction Devices Class = Multifunction
ClassGuid = {4d36e971-e325-11ce-bfc1-08002be10318} This class includes combo cards, such as a PCMCIA modem and netcard adapter. The driver for such a Plug and Play multifunction device is installed under this class and enumerates the modem and netcard separately as its child devices.
Multimedia Class = Media
ClassGuid = {4d36e96c-e325-11ce-bfc1-08002be10318} This class includes Audio and DVD multimedia devices, joystick ports, and full-motion video capture devices.
Multiport Serial Adapters Class = MultiportSerial
ClassGuid = {50906cb8-ba12-11d1-bf5d-0000f805f530} This class includes intelligent multiport serial cards, but not peripheral devices that connect to its ports. It does not include unintelligent (16550-type) mutiport serial controllers or single-port serial controllers (see the Ports class).
Network Adapter Class = Net
ClassGuid = {4d36e972-e325-11ce-bfc1-08002be10318} This class includes NDIS miniport drivers excluding Fast-IR miniport drivers, NDIS intermediate drivers (of virtual adapters), and CoNDIS MCM miniport drivers.
Network Client Class = NetClient
ClassGuid = {4d36e973-e325-11ce-bfc1-08002be10318} This class includes network and/or print providers.
Network Service Class = NetService
ClassGuid = {4d36e974-e325-11ce-bfc1-08002be10318} This class includes network services, such as redirectors and servers.
Network Transport Class = NetTrans
ClassGuid = {4d36e975-e325-11ce-bfc1-08002be10318} This class includes NDIS protocols, CoNDIS stand-alone call managers, and CoNDIS clients, as well as higher level drivers in transport stacks.
PCI SSL Accelerator Class = Security Accelerator
ClassGuid = {268c95a1-edfe-11d3-95c3-0010dc4050a5} This class includes devices that accelerate secure socket layer (SSL) cryptographic processing.
PCMCIA Adapters Class = PCMCIA
ClassGuid = {4d36e977-e325-11ce-bfc1-08002be10318} This class includes PCMCIA and CardBus host controllers, but not PCMCIA or CardBus peripherals. Drivers for this class are system-supplied.
Ports (COM & LPT ports) Class = Ports
ClassGuid = {4d36e978-e325-11ce-bfc1-08002be10318} This class includes serial and parallel port devices. See also the MultiportSerial class.
Printers Class = Printer
ClassGuid = {4d36e979-e325-11ce-bfc1-08002be10318} This class includes printers.
Printers, Bus-specific class drivers Class = PNPPrinters
ClassGuid = {4658ee7e-f050-11d1-b6bd-00c04fa372a7} This class includes SCSI/1394-enumerated printers. Drivers for this class provide printer communication for a specific bus.
Processors Class = Processor
ClassGuid = {50127dc3-0f36-415e-a6cc-4cb3be910b65} This class includes processor types.
SCSI and RAID Controllers Class = SCSIAdapter
ClassGuid = {4d36e97b-e325-11ce-bfc1-08002be10318} This class includes SCSI HBAs (Host Bus Adapters) and disk-array controllers.
Smart Card Readers Class = SmartCardReader
ClassGuid = {50dd5230-ba8a-11d1-bf5d-0000f805f530} This class includes smart card readers.
Storage Volumes Class = Volume
ClassGuid = {71a27cdd-812a-11d0-bec7-08002be2092f} This class includes storage volumes as defined by the system-supplied logical volume manager and class drivers that create device objects to represent storage volumes, such as the system disk class driver.
System Devices Class = System
ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318} This class includes HALs, system buses, system bridges, the system ACPI driver, and the system volume manager driver.
For Windows 9x/Me, this class also includes battery devices and UPS devices.
Tape Drives Class = TapeDrive
ClassGuid = {6d807884-7d21-11cf-801c-08002be10318} This class includes tape drives, including all tape miniclass drivers.
USB Class = USB
ClassGuid = {36fc9e60-c465-11cf-8056-444553540000} This class includes USB host controllers and USB hubs, but not USB peripherals. Drivers for this class are system-supplied.
Windows CE USB ActiveSync Devices Class = WCEUSBS
ClassGuid = {25dbce51-6c8f-4a72-8a6d-b54c2b4fc835} This class includes Windows CE ActiveSync devices.
The WCEUSBS setup class supports communication between a personal computer and a device that is compatible with the Windows CE ActiveSync driver (generally, PocketPC devices) over USB.
Windows SideShow Class = SideShow
ClassGuid = {997b5d8d-c442-4f2e-baf3-9c8e671e9e21} This class includes all devices that are compatible with Windows SideShow. This class is supported in Windows Vista and later versions of Windows.
|
|