Introduction
Windows 2000/XP/Vista provide a set of APIs that allow a developer to enumerate a particular device class GUID, and determine additional information on each device that is detected. This utility enumerates all of the available device classes / objects and displays them for you. When the device is selected, we enumerate the device/class information and display it over in the properties window. You can download it here.
The APIs we use are part of the SetupDiXXXX class of APIs as described in the Windows SDK. Where practical, we use the SetupDI function names and structure declaration. This utility is intended as a developer's tool which is why we took this approach.
What operating systems are supported?
We support Windows 7 and above. The software is also compatible with the x64 versions of Windows.
What does it look like?
Here's a sample screen shot for a Disk Drive class device. As you can see, the OS has detected three Disk Drive class devices on our test system.
The Property/Value window shows you the property that GUID Explorer has enumerated and its value. Below, we briefly document what each value indicates:
Class Information
In this section, we will display the class GUID information. This includes the actual GUID code definition (e.g. GUID_DEVCLASS_CDROM) as well as it's actual hex value (e.g. {4d36e965-e325-11ce-bfc1-08002be10318}). We use the SetupDiClassNameFromGuid and SetupDiGetClassDescription APIs to display additional information about the class GUID.
Device Information
In this section, we display information applicable to the selected device object. Currently, we only display the device Instance ID as retrieved from the SetupDiGetDeviceInstanceId API.
Device Interfaces
Each device object can expose one or more device interfaces. In this section, we will scan the device object and report all the device interfaces that the device supports. Where possible, we will show you the device interface GUID name and friendly name.
Device Registry Properties
In this section, we enumerate ALL of the available device registry properties as exposed by the SetupDiGetDeviceRegistryProperty API. Where possible, we will provide additional decoding to each value to make it more readable. We show you the exact property we enumerate (e.g. SPDRP_ADDRESS, SPDRP_BUSTYPEGUID, etc.).
Device Drivers
In this section, we enumerate the list of drivers associated with a specified device instance. Refer to the SetupDiBuildDriverInfoList API for details.
Sample Output
GUID Explorer has the option to output its enumeration to the clipboard in text format. Simply click on the "Copy to Clipboard" toolbar button. We have provided you several samples below:
|