Windows下设备GUID常识

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class :是设备安装类GUID,在devguid.h中。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses:设备接口类GUID,部分在winioctl.h中。

计算机管理属性中的信息:

计算机中有各种个样的设备类型,这些设备类型被微软用固定的GUID来标识了,这些GUID对实际编程是有很大关系的,用错了会麻烦,我查了一下文档,把查到的设备类型的GUID列在下面供大家参考:

1394 Host Bus Controller
Class = 1394
ClassGuid = {6bdd1fc1-810f-11d0-bec7-08002be2092f}
This class includes system-supplied drivers of 1394 host controllers connected on a PCI bus, but not drivers of 1394 peripherals.

Battery Devices
Class = Battery
ClassGuid = {72631e54-78a4-11d0-bcf7-00aa00b7b32a}
This class includes drivers of battery devices and UPSes.

 

CD-ROM Drives
Class = CDROM
ClassGuid = {4d36e965-e325-11ce-bfc1-08002be10318}
This class includes drivers of CD-ROM drives, including SCSI CD-ROM drives. By default, the system's CD-ROM class installer also installs a system-supplied CD audio driver and CD-ROM changer driver as PnP filters.

 

Disk Drives
Class = DiskDrive
ClassGuid = {4d36e967-e325-11ce-bfc1-08002be10318}
This class includes drivers of hard disk drives. See also the HDC and SCSIAdapter classes.

 

Display Adapters
Class = Display
ClassGuid = {4d36e968-e325-11ce-bfc1-08002be10318}
This class includes drivers of video adapters, including display drivers and video miniports.

 

Floppy Disk Controllers 
Class = FDC
ClassGuid = {4d36e969-e325-11ce-bfc1-08002be10318}
This class includes drivers of floppy disk drive controllers.

 

Floppy Disk Drives
Class= FloppyDisk
ClassGuid= {4d36e980-e325-11ce-bfc1-08002be10318}
This class includes drivers of floppy drives.

 

Hard Disk Controllers
Class = HDC
ClassGuid = {4d36e96a-e325-11ce-bfc1-08002be10318}
This class includes drivers of hard disk controllers, including ATA/ATAPI controllers but not SCSI and RAID disk controllers.

 

Human Input Devices (HID)
Class = HIDClass
ClassGuid = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
This class includes devices that export interfaces of the HID class, including HID keyboard and mouse devices, which the installed HID device drivers enumerate as their respective "child" devices. (See also the Keyboard or Mouse classes later in this list.)

 

Imaging Device
Class = Image
ClassGuid = {6bdd1fc6-810f-11d0-bec7-08002be2092f}
This class includes drivers of still-image capture devices, digital cameras, and scanners.

 

IrDA Devices
Class = Infrared
ClassGuid = {6bdd1fc5-810f-11d0-bec7-08002be2092f}
This class includes Serial-IR and Fast-IR NDIS miniports, but see also the Network Adapter class for other NDIS NIC miniports.

 

Keyboard
Class = Keyboard
ClassGuid = {4d36e96b-e325-11ce-bfc1-08002be10318}
This class includes all keyboards. That is, it also must be specified in the (secondary) INF for an enumerated "child" HID keyboard device.

 

Medium Changers
Class= MediumChanger
ClassGuid= {ce5939ae-ebde-11d0-b181-0000f8753ec4}
This class includes drivers of SCSI media changer devices.

 

Memory Technology Driver
Class = MTD
ClassGUID = {4d36e970-e325-11ce-bfc1-08002be10318}
This class includes drivers for memory devices, such as flash memory cards.

 

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.

 

Modem
Class = Modem
ClassGuid = {4d36e96d-e325-11ce-bfc1-08002be10318}
This class installs modems. An INF for a device of this class installs no device driver(s), but rather specifies the features and configuration information of a particular modem and stores this information in the registry. See also the Multifunction class.

 

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 mice and other kinds of pointing devices, such as trackballs. That is, it 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 PnP multifunction device is installed under this class and enumerates the modem and netcard separately as its "child" devices.

 

Multi-port 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 NIC miniports excluding Fast-IR miniports, NDIS intermediate drivers (of "virtual adapters"), and CoNDIS MCM miniports.

 

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.

 

PCMCIA Adapters
Class = PCMCIA
ClassGuid = {4d36e977-e325-11ce-bfc1-08002be10318}
This class includes system-supplied drivers of PCMCIA and CardBus host controllers, but not drivers of PCMCIA or CardBus peripherals.

 

Ports (COM & LPT serial ports)
Class = Ports
ClassGuid = {4d36e978-e325-11ce-bfc1-08002be10318}
This class includes drivers of serial or parallel port devices, but see also the MultiportSerial class.

 

Printer
Class = Printer
ClassGuid = {4d36e979-e325-11ce-bfc1-08002be10318}
This class includes printers.

 

SCSI and RAID Controllers
Class = SCSIAdapter
ClassGuid = {4d36e97b-e325-11ce-bfc1-08002be10318}
This class includes SCSI HBA miniports and disk-array controller drivers.

 

Smart Card Readers
Class = SmartCardReader
ClassGuid = {50dd5230-ba8a-11d1-bf5d-0000f805f530}
This class includes drivers for 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 the Windows® 2000 HALs, system bus drivers, the system ACPI driver, and the system volume-manager driver. It also includes battery drivers and UPS drivers.

 

Tape Drives
Class = TapeDrive
ClassGuid = {6d807884-7d21-11cf-801c-08002be10318}
This class includes drivers of tape drives, including all tape miniclass drivers.

 

USB
Class = USB
ClassGuid = {36fc9e60-c465-11cf-8056-444553540000}
This class includes system-supplied (bus) drivers of USB host controllers and drivers of USB hubs, but not drivers of USB peripherals.

The following classes and GUIDs should not be used to install devices (or drivers) on Windows 2000 platforms:

 

Adapter
Class = Adapter
ClassGUID = {4d36e964-e325-11ce-bfc1-08002be10318}
This class is obsolete.

 

APM
Class = APMSupport
ClassGUID = {d45b1c18-c8fa-11d1-9f77-0000f805f530}
This class is reserved for system use.

 

Computer
Class = Computer
ClassGUID = {4d36e966-e325-11ce-bfc1-08002be10318}
This class is reserved for system use.

 

Decoders
Class = Decoder
ClassGUID = {6bdd1fc2-810f-11d0-bec7-08002be2092f}
This class is reserved for future use.

 

Global Positioning System
Class = GPS
ClassGUID = {6bdd1fc3-810f-11d0-bec7-08002be2092f}
This class is reserved for future use.

 

No driver
Class = NoDriver
ClassGUID = {4d36e976-e325-11ce-bfc1-08002be10318}
This class is obsolete.

 

Non-Plug and Play Drivers
Class = LegacyDriver
ClassGUID = {8ecc055d-047f-11d1-a537-0000f8753ed1}
This class is reserved for system use.

 

Other Devices
Class = Unknown
ClassGUID = {4d36e97e-e325-11ce-bfc1-08002be10318}
This class is reserved for system use. Enumerated devices for which the system cannot determine the type are installed under this class. Do not use this class if you're unsure in which class your device belongs; either determine the correct device setup class or create a new class.

 

Printer Upgrade
Class = Printer Upgrade
ClassGUID = {4d36e97a-e325-11ce-bfc1-08002be10318}
This class is reserved for system use.

 

Sound
Class = Sound
ClassGUID = {4d36e97c-e325-11ce-bfc1-08002be10318}
This class is obsolete.

 

USB Mass Storage Device

ClassGUID = a5dcbf10-6530-11d2-901f-00c04fb951ed

 

 

常用设备接口类GUID
IdentifierClass GUIDHeader
GUID_DEVINTERFACE_USB_DEVICE{A5DCBF10-6530-11D2-901F-00C04FB951ED}Usbiodef.h
GUID_DEVINTERFACE_USB_HOST_CONTROLLER{3ABF6F2D-71C4-462A-8A92-1E6861E6AF27}Usbiodef.h
GUID_DEVINTERFACE_USB_HUB{F18A0E88-C30C-11D0-8815-00A0C906BED8}Usbiodef.h
GUID_DEVINTERFACE_NET{CAC88484-7515-4C03-82E6-71A87ABAC361}Ndisguid.h
GUID_DEVINTERFACE_MODEM{2C7089AA-2E0E-11D1-B114-00C04FC2AAE4}Ntddmodm.h
GUID_DEVINTERFACE_DISK{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}Ntddstor.h
GUID_DEVINTERFACE_VOLUME{53F5630D-B6BF-11D0-94F2-00A0C91EFB8B}Ntddstor.h
GUID_DEVINTERFACE_MEDIUMCHANGER{53F56310-B6BF-11D0-94F2-00A0C91EFB8B}Ntddstor.h
GUID_DEVINTERFACE_CDROM{53F56308-B6BF-11D0-94F2-00A0C91EFB8B}Ntddstor.h
GUID_DEVINTERFACE_PARTITION{53F5630A-B6BF-11D0-94F2-00A0C91EFB8B}Ntddstor.h
GUID_DEVINTERFACE_HID{4D1E55B2-F16F-11CF-88CB-001111000030}Hidclass.h
GUID_DEVINTERFACE_KEYBOARD{884B96C3-56EF-11D1-BC8C-00A0C91405DD}Ntddkbd.h
GUID_DEVINTERFACE_MOUSE{378DE44C-56EF-11D1-BC8C-00A0C91405DD}Ntddmou.h
GUID_DEVINTERFACE_DISPLAY_ADAPTER{5B45201D-F2F2-4F3B-85BB-30FF1F953599}Ntddvdeo.h
GUID_DEVINTERFACE_IMAGE{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}Wiaintfc.h
GUID_DEVINTERFACE_MONITOR{E6F07B5F-EE97-4a90-B076-33F57BF4EAA7}Ntddvdeo.h
GUID_DEVINTERFACE_BRIGHTNESS{FDE5BBA4-B3F9-46FB-BDAA-0728CE3100B4}Dispmprt.h
GUID_DEVINTERFACE_I2C{2564AA4F-DDDB-4495-B497-6AD4A84163D7}Dispmprt.h
GUID_BTHPORT_DEVICE_INTERFACE{0850302A-B344-4fda-9BE9-90576B8D46F0}Bthdef.h
GUID_DEVINTERFACE_COMPORT{86E0D1E0-8089-11D0-9CE4-08003E301F73}Ntddser.h
GUID_DEVINTERFACE_PARCLASS{811FC6A5-F728-11D0-A537-0000F8753ED1}Ntddpar.h

 

 

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Windows的管理API来获取USB设备的路径,具体方法如下: 1. 使用`SetupDiGetClassDevs`函数获取USB设备设备信息列表。 ``` HDEVINFO hDevInfo = SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_DEVICE, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); ``` 2. 遍历设备信息列表,使用`SetupDiEnumDeviceInterfaces`函数获取每个设备接口的信息。 ``` SP_DEVICE_INTERFACE_DATA interfaceData; interfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); for (DWORD i = 0; SetupDiEnumDeviceInterfaces(hDevInfo, NULL, &GUID_DEVINTERFACE_USB_DEVICE, i, &interfaceData); ++i) { // 获取设备接口的详细信息 SP_DEVICE_INTERFACE_DETAIL_DATA* pData = NULL; DWORD dwSize = 0; SetupDiGetDeviceInterfaceDetail(hDevInfo, &interfaceData, NULL, 0, &dwSize, NULL); pData = (SP_DEVICE_INTERFACE_DETAIL_DATA*)new BYTE[dwSize]; pData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA); SetupDiGetDeviceInterfaceDetail(hDevInfo, &interfaceData, pData, dwSize, NULL, NULL); // 获取设备路径 TCHAR szDevicePath[MAX_PATH] = {0}; _tcscpy_s(szDevicePath, MAX_PATH, pData->DevicePath); // 处理设备路径 // ... delete[] pData; } ``` 3. 在遍历设备信息列表的过程中,可以通过设备接口的详细信息获取设备路径。设备路径的格式为`\\?\USB#VID_xxxx&PID_xxxx#xxxxxxxxxxxxxxxx#{xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}`。其中,`VID_xxxx`表示设备的厂商ID,`PID_xxxx`表示设备的产品ID,`xxxxxxxxxxxxxxxx`是设备的序列号,`xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`是设备接口的GUID。 4. 处理设备路径,例如提取出VID、PID和序列号等信息,或者使用设备路径打开设备进行操作。 需要注意的是,上述代码只是一个简单的示例,实际使用时还需要进行错误处理和资源释放等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值