Thanks lol
I am actually writing a new program for my tweaking.com site and it is a hardware identifier program. It will have a lot of other stuff in it as well as a easy check if anything on your system is not in the device database and auto submit it to help it grow.
SO to start off with a first database I used this program to scan all driver packs and every inf folder on each different version of Windows since xp to 8.1, then made a program script to remove the duplicates. I only need 3 sections, hardware id, name and mfg.
On to your problem, yes it should be easy to fix. Here is how it is done, it pulls the classid stored in the inf file then simply sends it to a function where based on the id given will return a precoded text response which can be changed.
Func _translateclassguid($vclassguid)
Switch $vclassguid
Case "{72631e54-78a4-11d0-bcf7-00aa00b7b32a}"
$vclassname = "Battery"
$vclassextname = "Battery Devices"
$vclassdesc = "This class includes battery devices and UPS devices."
Case "{53D29EF7-377C-4D14-864B-EB3A85769359}"
$vclassname = "Biometric"
$vclassextname = "Biometric Device"
$vclassdesc = "(Windows Server 2003 and later versions of Windows) This class includes all biometric-based personal identification devices."
Case "{e0cbf06c-cd8b-4647-bb8a-263b43f0f974}"
$vclassname = "Bluetooth"
$vclassextname = "Bluetooth Devices"
$vclassdesc = "(Windows XP SP1 and later versions of Windows) This class includes all Bluetooth devices."
Case "{4d36e965-e325-11ce-bfc1-08002be10318}"
$vclassname = "CDROM"
$vclassextname = "CD-ROM Drives"
$vclassdesc = "This class includes 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 Plug and Play filters."
Case "{4d36e967-e325-11ce-bfc1-08002be10318}"
$vclassname = "DiskDrive"
$vclassextname = "Disk Drives"
$vclassdesc = "This class includes hard disk drives. See also the HDC and SCSIAdapter classes."
Case "{4d36e968-e325-11ce-bfc1-08002be10318}"
$vclassname = "Display"
$vclassextname = "Display Adapters"
$vclassdesc = "This class includes video adapters. Drivers for this class include display drivers and video miniport drivers."
Case "{4d36e969-e325-11ce-bfc1-08002be10318}"
$vclassname = "FDC"
$vclassextname = "Floppy Disk Controllers"
$vclassdesc = "This class includes floppy disk drive controllers."
Case "{4d36e980-e325-11ce-bfc1-08002be10318}"
$vclassname = "FloppyDisk"
$vclassextname = "Floppy Disk Drives"
$vclassdesc = "This class includes floppy disk drives."
Case "{4d36e96a-e325-11ce-bfc1-08002be10318}"
$vclassname = "HDC"
$vclassextname = "Hard Disk Controllers"
$vclassdesc = "This class includes hard disk controllers, including ATA/ATAPI controllers but not SCSI and RAID disk controllers."
Case "{745a17a0-74d3-11d0-b6fe-00a0c90f57da}"
$vclassname = "HID Class"
$vclassextname = "Human Interface Devices (HID)"
$vclassdesc = "This class includes interactive input devices that are operated by the system-supplied HID class driver. This includes USB devices that comply with the USB HID Standard and non-USB devices that use a HID minidriver. For more information, see HIDClass Device Setup Class. (See also the Keyboard or Mouse classes later in this list.)"
Case "{48721b56-6795-11d2-b1a8-0080c72e74a2}"
$vclassname = "DOT4"
$vclassextname = "IEEE 1284.4 Devices"
$vclassdesc = "This class includes devices that control the operation of multifunction IEEE 1284.4 peripheral devices."
Case "{49ce6ac8-6f86-11d2-ble5-0080c72e74a2}"
$vclassname = "DOT4Print"
$vclassextname = "IEEE 1284.4 Print Functions"
$vclassdesc = "This class includes Dot4 print functions. A Dot4 print function is a function on a Dot4 device and has a single child device, which is a member of the Printer device setup class."
Case "{7ebefbc0-3200-11d2-b4c2-00a0C9697d07}"
$vclassname = "61883"
$vclassextname = "IEEE 1394 Devices That Support the 61883 Protocol"
$vclassdesc = "This class includes IEEE 1394 devices that support the IEC-61883 protocol device class. The 61883 component includes the 61883.sys protocol driver that transmits various audio and video data streams over the 1394 bus. These currently include standard/high/low quality DV, MPEG2, DSS, and Audio. These data streams are defined by the IEC-61883 specifications."
Case "{c06ff265-ae09-48f0-812c16753d7cba83}"
$vclassname = "AVC"
$vclassextname = "IEEE 1394 Devices That Support the AVC Protocol"
$vclassdesc = "This class includes IEEE 1394 devices that support the AVC protocol device class."
Case "{d48179be-ec20-11d1-b6b8-00c04fa372a7}"
$vclassname = "SBP2"
$vclassextname = "IEEE 1394 Devices That Support the SBP2 Protocol"
$vclassdesc = "This class includes IEEE 1394 devices that support the SBP2 protocol device class."
Case "{6bdd1fc1-810f-11d0-bec7-08002be2092f}"
$vclassname = "1394"
$vclassextname = "IEEE 1394 Host Bus Controller"
$vclassdesc = "This class includes 1394 host controllers connected on a PCI bus, but not 1394 peripherals. Drivers for this class are system-supplied."
Case "{6bdd1fc6-810f-11d0-bec7-08002be2092f}"
$vclassname = "Image"
$vclassextname = "Imaging Device"
$vclassdesc = "This class includes still-image capture devices, digital cameras, and scanners. "
Case "{6bdd1fc5-810f-11d0-bec7-08002be2092f}"
$vclassname = "Infrared"
$vclassextname = "IrDA Devices"
$vclassdesc = "Adapter class for other NDIS network adapter miniports."
Case "{4d36e96b-e325-11ce-bfc1-08002be10318}"
$vclassname = "Keyboard"
$vclassextname = "Keyboard"
$vclassdesc = "This class includes all keyboards. That is, it must also be specified in the (secondary) INF for an enumerated child HID keyboard device."
Case "{ce5939ae-ebde-11d0-b181-0000f8753ec4}"
$vclassname = "MediumChanger"
$vclassextname = "Media Changers"
$vclassdesc = "This class includes SCSI media changer devices."
Case "{4d36e970-e325-11ce-bfc1-08002be10318}"
$vclassname = "MTD"
$vclassextname = "Memory Technology Driver"
$vclassdesc = "This class includes memory devices, such as flash memory cards."
Case "{4d36e96d-e325-11ce-bfc1-08002be10318}"
$vclassname = "Modem"
$vclassextname = "Modem"
$vclassdesc = "This class includes modem devices. An INF file for a device of this class specifies the features and configuration of the device and stores this information in the registry. An INF file for a device of this class can also be used to install device drivers for a controllerless modem or a software modem. These devices split the functionality between the modem device and the device driver. For more information about modem INF files and Microsoft Windows Driver Model (WDM) modem devices, see Overview of Modem INF Files and Adding WDM Modem Support."
Case "{4d36e96e-e325-11ce-bfc1-08002be10318}"
$vclassname = "Monitor"
$vclassextname = "Monitor"
$vclassdesc = "This class includes display monitors. An INF for a device of this class installs no device driver(s), but instead 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.)"
Case "{4d36e96f-e325-11ce-bfc1-08002be10318}"
$vclassname = "Mouse"
$vclassextname = "Mouse"
$vclassdesc = "This class includes all mouse devices and other kinds of pointing devices, such as trackballs. That is, this class must also be specified in the (secondary) INF for an enumerated child HID mouse device."
Case "{4d36e971-e325-11ce-bfc1-08002be10318}"
$vclassname = "Multifunction"
$vclassextname = "Multifunction Devices"
$vclassdesc = "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."
Case "{4d36e96c-e325-11ce-bfc1-08002be10318}"
$vclassname = "Media"
$vclassextname = "Multimedia"
$vclassdesc = "This class includes Audio and DVD multimedia devices, joystick ports, and full-motion video capture devices."
Case "{50906cb8-ba12-11d1-bf5d-0000f805f530}"
$vclassname = "MultiportSerial"
$vclassextname = "Multiport Serial Adapters"
$vclassdesc = "This class includes intelligent multiport serial cards, but not peripheral devices that connect to its ports. It does not include unintelligent (16550-type) multiport serial controllers or single-port serial controllers (see the Ports class)."
Case "{4d36e972-e325-11ce-bfc1-08002be10318}"
$vclassname = "Net"
$vclassextname = "Network Adapter"
$vclassdesc = "This class includes NDIS miniport drivers excluding Fast-IR miniport drivers, NDIS intermediate drivers (of virtual adapters), and CoNDIS MCM miniport drivers."
Case "{4d36e973-e325-11ce-bfc1-08002be10318}"
$vclassname = "NetClient"
$vclassextname = "Network Client"
$vclassdesc = "This class includes network and/or print providers."
Case "{4d36e974-e325-11ce-bfc1-08002be10318}"
$vclassname = "NetService"
$vclassextname = "Network Service"
$vclassdesc = "This class includes network services, such as redirectors and servers."
Case "{4d36e975-e325-11ce-bfc1-08002be10318}"
$vclassname = "NetTrans"
$vclassextname = "Network Transport"
$vclassdesc = "This class includes NDIS protocols CoNDIS stand-alone call managers, and CoNDIS clients, in addition to higher level drivers in transport stacks."
Case "{268c95a1-edfe-11d3-95c3-0010dc4050a5}"
$vclassname = "SecurityAccelerator"
$vclassextname = "PCI SSL Accelerator"
$vclassdesc = "This class includes devices that accelerate secure socket layer (SSL) cryptographic processing."
Case "{4d36e977-e325-11ce-bfc1-08002be10318}"
$vclassname = "PCMCIA"
$vclassextname = "PCMCIA Adapters"
$vclassdesc = "This class includes PCMCIA and CardBus host controllers, but not PCMCIA or CardBus peripherals. Drivers for this class are system-supplied."
Case "{4d36e978-e325-11ce-bfc1-08002be10318}"
$vclassname = "Ports"
$vclassextname = "Ports (COM & LPT ports)"
$vclassdesc = "This class includes serial and parallel port devices. See also the MultiportSerial class."
Case "{4d36e979-e325-11ce-bfc1-08002be10318}"
$vclassname = "Printer"
$vclassextname = "Printers"
$vclassdesc = "This class includes printers."
Case "{4658ee7e-f050-11d1-b6bd-00c04fa372a7}"
$vclassname = "PNPPrinters"
$vclassextname = "Printers, Bus-specific class drivers"
$vclassdesc = "This class includes SCSI/1394-enumerated printers. Drivers for this class provide printer communication for a specific bus."
Case "{50127dc3-0f36-415e-a6cc-4cb3be910b65}"
$vclassname = "Processor"
$vclassextname = "Processors"
$vclassdesc = "This class includes processor types."
Case "{4d36e97b-e325-11ce-bfc1-08002be10318}"
$vclassname = "SCSIAdapter"
$vclassextname = "SCSI and RAID Controllers"
$vclassdesc = "This class includes SCSI HBAs (Host Bus Adapters) and disk-array controllers."
Case "{5175d334-c371-4806-b3ba-71fd53c9258d}"
$vclassname = "Sensor"
$vclassextname = "Sensors"
$vclassdesc = "(Windows 7 and later versions of Windows) This class includes sensor and location devices, such as GPS devices."
Case "{50dd5230-ba8a-11d1-bf5d-0000f805f530}"
$vclassname = "SmartCardReader"
$vclassextname = "Smart Card Readers"
$vclassdesc = "This class includes smart card readers."
Case "{71a27cdd-812a-11d0-bec7-08002be2092f}"
$vclassname = "Volume"
$vclassextname = "Storage Volumes"
$vclassdesc = "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."
Case "{4d36e97d-e325-11ce-bfc1-08002be10318}"
$vclassname = "System"
$vclassextname = "System Devices"
$vclassdesc = "This class includes HALs, system buses, system bridges, the system ACPI driver, and the system volume manager driver."
Case "{6d807884-7d21-11cf-801c-08002be10318}"
$vclassname = "TapeDrive"
$vclassextname = "Tape Drives"
$vclassdesc = "This class includes tape drives, including all tape miniclass drivers."
Case "{36fc9e60-c465-11cf-8056-444553540000}"
$vclassname = "USBDevice"
$vclassextname = "USB Device"
$vclassdesc = "USBDevice includes all USB devices that do not belong to another class. This class is not used for USB host controllers and hubs"
Case "{25dbce51-6c8f-4a72-8a6d-b54c2b4fc835}"
$vclassname = "WCEUSBS"
$vclassextname = "Windows CE USB ActiveSync Devices"
$vclassdesc = "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."
Case "{eec5ad98-8080-425f-922a-dabf3de3f69a}"
$vclassname = "WPD"
$vclassextname = "Windows Portable Devices (WPD)"
$vclassdesc = "(Windows Vista and later versions of Windows) This class includes WPD devices."
Case "{997b5d8d-c442-4f2e-baf3-9c8e671e9e21}"
$vclassname = "SideShow"
$vclassextname = "Windows SideShow"
$vclassdesc = "(Windows Vista and later versions of Windows) This class includes all devices that are compatible with Windows SideShow."
Case "{2D3B1222-B28A-44f7-BE45-3D7FD2F57C43}"
$vclassname = "ElxPlus"
$vclassextname = "Emulex PLUS"
$vclassdesc = ""
Case "{1a3e09be-1e45-494b-9174-d7385b45bbf5}"
$vclassname = "Vendor_ClassName"
$vclassextname = "NVIDIA Network Bus Enumerator"
$vclassdesc = ""
Case "{4B571702-E6C6-4db1-A2C6-FD1D53A70FC3}"
$vclassname = "ALiUSB"
$vclassextname = "ALi USB Controller"
$vclassdesc = ""
Case "{a0a588a4-c46f-4b37-b7ea-c82fe89870c6}"
$vclassname = "SDHost"
$vclassextname = "Intel SD Controller"
$vclassdesc = ""
Case "{555E05A3-904C-42cf-AEF4-EE4035EC6362}"
$vclassname = "Egatecard"
$vclassextname = "Axalto USB SD"
$vclassdesc = ""
Case "{09E9A11D-CCB2-45ae-9BE8-65C263E60490}"
$vclassname = "CVAULT"
$vclassextname = "Broadcom Fingerprint Scanner"
$vclassdesc = ""
Case "{e7f8dc5e-a591-4264-8a30-6eae85be7a3f}"
$vclassname = "ActivCardClass"
$vclassextname = "ActivCard SmartReader"
$vclassdesc = ""
Case "{084ABEA7-3EE1-4917-AA78-7670D1E625E1}"
$vclassname = "ActivCardKeyBus"
$vclassextname = "ActivCard Virtual Reader Enumerator"
$vclassdesc = ""
Case "{41AD5E8B-5CB0-4275-B829-EDA617114AE8}"
$vclassname = "ActivKeySimBus"
$vclassextname = "ActivIdentity SmartReader"
$vclassdesc = ""
Case Else
Return ""
EndSwitch
Return $vclassname
EndFunction
Microsoft offers a list of the classids here and what they are for.
http://msdn.microsoft.com/en-us/library … 85%29.aspx
Anotherway is to pull the classid info from the registry and pull what it is listed as there, I have my old cs fire monitor program that can do that on xp. SO making a quick vb6 app should be easy to do that.
I could also see about putting text boxes into the program to allow you to put how you want the text for each id to show up as, but that would be a lot of textboxes lol.
Or is the problem is MS changed what the classid gets reported as from xp to say 7, then maybe the easyiest thing to do is to change the code to have a text for what the classids use to be on xp, then based on the system or even put a simple option is can decide which classid text to return :-)
So think of this, a checkbox that says "Use XP ClassIDs"
Then in the code, take USB for example
RIght now it is
Case "{36fc9e60-c465-11cf-8056-444553540000}"
$vclassname = "USBDevice"
$vclassextname = "USB Device"
$vclassdesc = "USBDevice includes all USB devices that do not belong to another class. This class is not used for USB host controllers and hubs"
COuld be
Case "{36fc9e60-c465-11cf-8056-444553540000}"
$vclassname = "USBDevice"
$vclassnamexp = "USB"
$vclassextname = "USB Device"
$vclassdesc = "USBDevice includes all USB devices that do not belong to another class. This class is not used for USB host controllers and hubs"
If the checkbox is set it uses $vclassnamexp otherwise it uses $vclassname. ;-)
If you ever take a look at some of my programs you will see I have a little practice with all this LOL
-Shane