Device Interface Classes
There isn't a do***ented way to get the all device interface classes
registered in the system. The reasoning for not providing such an interface
is that to be able to use an interface, you need to know the nature of the
device (keyboard, mouse, disk). You can't just randomly open a interface
guid and do read/write/ioctl on it. I brought up this issue long time ago
with our PNP engineer and this is what he had to say:
"The purpose of device interfaces is to separate the functionality provided
by a device (i.e., what the user cares about) from the details pertaining to
the device's installation/configuration (i.e., which users should seldom, if
ever, care about). Someone registering for notification about a particular
interface class should know (a) what the interface is and (b) how to use it.
This implies they know the relevant headerfile(s) for the interface of
interest, and included in such a headerfile would be the interface class
GUID used in enumeration of and notification registration for members of
that class."
--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.microsoft.com/whdc/hwdev/driver/kb-drv.mspx
|