SetupApi函数
+ -

SetupAPI 根据类GUID获取类描述符信息SetupDiGetClassDescriptionEx devcon.exe classes

2022-01-27 237 0

Windows设备的一种管理方式就是在安装设备驱动的时候,通过INF文件中的Class和ClassGUID来设置,如

Class=USB
ClassGuid={36FC9E60-C465-11CF-8056-444553540000}

当设备驱动安装后,可以通过SetupDiClassNameFromGuidEx和SetupDiClassGuidsFromNameEx函数在Class名和ClassGUID之间进行转换。
当然我们也可以使用SetupDiGetClassDescriptionEx函数获取类的描述符信息。

#define LINE_LEN                    256 
TCHAR classDesc[LINE_LEN];
 if(!SetupDiGetClassDescriptionEx(&guids[index],classDesc,LINE_LEN,NULL,Machine,NULL)) 
 {
        if (FAILED(StringCchCopy(classDesc,LINE_LEN,className))) 
        {
            goto final;
        }
}

当然我们也可以通过DevCon来显示系统中所有的设备类,命令行为:

devcon.exe classes

输出内容如下:

  • XboxComposite : Xbox Peripherals
  • RemotePosDevice : POS Remote Device
  • DigitalMediaDevices : Digital Media Devices
  • PrintQueue : Print queues
  • PSM : Intel?Power Sharing Manager
  • WCEUSBS : Mobile devices
  • Security Accelerator: Security accelerators
  • HidMsr : POS HID Magnetic Stripe Reader
  • SystemRecovery : FS System recovery filters
  • USB : Universal Serial Bus controllers
  • ContentScreener : FS Content screener filters
  • Media Center Extender: Media Center Extenders
  • PnpPrinters : IEEE 1394 and SCSI printers
  • Dot4 : IEEE 1284.4 devices
  • Replication : FS Replication filters
  • Dot4Print : IEEE 1284.4 compatible printers
  • CDROM : DVD/CD-ROM drives
  • Computer : Computer
  • DiskDrive : Disk drives
  • Display : Display adapters
  • FDC : Floppy drive controllers
  • HDC : IDE ATA/ATAPI controllers
  • Keyboard : Keyboards
  • MEDIA : Sound, video and game controllers
  • Modem : Modems
  • Monitor : Monitors
  • Mouse : Mice and other pointing devices
  • MTD : Memory technology devices
  • MultiFunction : Multifunction adapters
  • Net : Network adapters
  • NetClient : Network Client
  • NetService : Network Service
  • NetTrans : Network Protocol
  • PCMCIA : PCMCIA adapters
  • Ports : Ports (COM & LPT)
  • Printer : Printers
  • SCSIAdapter : Storage controllers
  • System : System devices
  • Unknown : Other devices
  • FloppyDisk : Floppy disk drives
  • Processor : Processors
  • MultiPortSerial : Multi-port serial adapters
  • Memory : Memory devices
  • SmartCardReader : Smart card readers
  • Sensor : Sensors
  • VolumeSnapshot : Storage volume shadow copies
  • ScmDisk : Persistent memory disks
  • ScmVolume : Storage Class Memory volumes
  • Biometric : Biometric devices
  • Proximity : Proximity devices
  • AudioProcessingObject: Audio Processing Objects (APOs)
  • SoftwareComponent : Software components
  • FSFilterSystem : FS System filters
  • SoftwareDevice : Software devices
  • PhysicalQuotaManagement: FS Physical quota management filters
  • 1394 : IEEE 1394 host controllers
  • Infrared : Infrared devices
  • Image : Imaging devices
  • TapeDrive : Tape drives
  • Volume : Storage volumes
  • ContinuousBackup : FS Continuous backup filters
  • Battery : Batteries
  • HIDClass : Human Interface Devices
  • HidCashDrawer : POS Cash Drawer
  • 61883 : 61883 devices
  • QuotaManagement : FS Quota management filters
  • TS_Generic : Generic Remote Desktop devices
  • USBDevice : Universal Serial Bus devices
  • CopyProtection : FS Copy protection filters
  • LegacyDriver : Non-Plug and Play drivers
  • SmartCard : Smart cards
  • Ramdisk : RAM Disk drives
  • EhStorSilo : IEEE 1667 silo and control devices
  • SDHost : SD host adapters
  • Encryption : FS Encryption filters
  • AntiVirus : FS Anti-virus filters
  • ActivityMonitor : FS Activity monitor filters
  • USBFunctionController: Universal Serial Bus Function controllers
  • AVC : Audio/video control devices
  • AudioEndpoint : Audio inputs and outputs
  • BarcodeScanner : POS Barcode Scanner
  • WSDPrintDevice : WSD Print Provider
  • POSPrinter : POS Receipt Printer
  • CFSMetadataServer : FS CFS metadata server filters
  • MediumChanger : Medium Changer devices
  • SecurityEnhancer : FS Security enhancer filters
  • Miracast : Miracast display devices
  • SBP2 : SBP2 IEEE 1394 devices
  • HSM : FS HSM filters
  • XnaComposite : Xbox 360 Peripherals
  • SecurityDevices : Security devices
  • SmartCardFilter : Smart card filters
  • Bluetooth : Bluetooth
  • Extension : Extensions
  • Infrastructure : FS Infrastructure filters
  • WPD : Portable Devices
  • Firmware : Firmware
  • Compression : FS Compression filters
  • Virtualization : FS Virtualization filters
  • OpenFileBackup : FS Open file backup filters
  • Undelete : FS Undelete filters

0 篇笔记 写笔记

Windows Inf文件设备GUID分类(设备安装程序类)
Class=SystemClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}Class=USBClassGuid={36FC9E60-C465-11CF-8056-444553540000}Class=AudioClassGuid={4d36e96c-......
Devcon hwids命令
任何设备的与驱动都是通过设备的硬件ID进行关联的。设备的ID用于标识设备的身份,DevCon.exe关于ID的操作都是通过HwIDs参数来执行的。设备的ID包括:硬件ID、兼容ID和设备实例ID.Devcon.exe HwIDs语法devcon [/m:\computer] hwids {......
使用CLSIDFromString将字符串GUID转化成十六进制GUID/UUID
Windows的一般会给相同类型的设备接口注册相同的GUID,但GUID有时别人给的是一个字符串,但是在实际使用过程中我们又使用的是GUID类型,其结构定义如下:typedef struct _GUID { unsigned long Data1; unsigned short ......
Windows驱动预定义设备GUID
全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUIDGUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内......
devcon update/remove命令(更新/安装/卸载驱动)
这里的inf文件为:pnpon.inf硬件ID为:*PNPONVDualA可根据需要自行修改CD /d %~dp0devcon.exe update pnpon.inf "*PNPONVDualA"echo %errorlevel% if %errorlevel% ......
Windows设备控制台Devcon.exe简介
什么是DevConDevCon是一个控制台工具,可以用来DevCon来启用、禁用、安装、配置和删除设备。DevCon版本区分DevCon.exe根据平台的不同,分为x86,x64和Arm32,ARM64版本。x86:只能安装Windows32位操作系统x86/x64处理器上。x64:只能安装W......
devcon.exe driverfiles显示设备驱动
devcon.exe driverfiles "USBVID_0483&PID_3748&REV_0100"USBVID_0483&PID_37485&1E7D8DB7&0&5 Name: STM32 STLink......
SetupAPI函数实现设备分类GUID和类名之间的转换SetupDiClassNameFromGuidExSetupDiClassGuidsFromNameEx
类名与其GUID之间的切换 GUID guid; ULONG rtn = 0; if (SetupDiClassGuidsFromNameEx(TEXT("USB"), &guid, 1, &rtn, NULL, N......
SetupAPI 根据类GUID获取类描述符信息SetupDiGetClassDescriptionEx
Windows设备的一种管理方式就是在安装设备驱动的时候,通过INF文件中的Class和ClassGUID来设置,如Class=USBClassGuid={36FC9E60-C465-11CF-8056-444553540000}当设备驱动安装后,可以通过SetupDiClassNameFro......
Devcon Rescan命令代码实现
在Windows的设备管理器工具栏有一个小电脑的图标,点击后,系统会强制设备管理器树进行更新并重新枚举卸载掉(devcon的remove用法)的设备并安装驱动程序。这个功能在devcon.exe的源代码中有,其对应的devcon命令为devcon.exe resan函数原型:CM_Locate......
Devcon命令大全
Windows设备控制台Devcon.exe是一款使用SetupAPI函数实现的系统设备及驱动管理的软件,使用它我们可以安装、卸载设备驱动。devcon.exe使用命令行的方式来进行运行,其支持的命令如下:devcon.exe help其输出内容如下:Device Console Help:......
DevCon classes命令
classes命令列出了所有设备安装程序类,包括系统上的设备不使用的类。 在本地和远程计算机上都可以使用。 devcon [/m:\computer] classes参数 如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠””来标识。注意 若要在远程计算机上运行......
DevCon ListClass命令
DevCon ListClass用于列出指定设备设置类中的所有设备。 在本地和远程计算机上有效。命令格式devcon [/m:\computer] listclass class [class...]参数如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠””来标识。......
Devcon ListClass命令代码实现
ListClass命令用于列出当前系统中该设备类下的的有设备实例并显示设备的友名。ListClass命令由两部分组成:第一部分是根据设备的类名获取其类GUID,然后再通过SetupDiGetClassDevsEx打开该GUID分类的设备集,获取其 HDEVINFO devs句柄。当然这里也为了显......
Devcon hwids命令源代码实现
Devcon hwids命令显示设备的硬件ID信息。主要的显示包括如下:了解过之前几个命令的同学应该觉地比较简单,因为或多或少有些信息如设备友名,设备实例名路径我们都获取过,而设备的硬件ID和兼容ID其实与是比较简单是,和设备的友名一样,是通过SetupDiGetDeviceRegistryPro......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!