Gene said:
[snip]
The quickest solution, is to add a prompt to the "new hardware"
dialog.
"I think you have added a USB Mass Storage device"
"This device appears to be a web cam. It claims a composite
device block at the top level, with one UVC video device and
one audio device underneath that top level."
"Do you want to accept connection via these classes only ? Y/N"
How many users will simply click Yes just as they do with so many
other arcane prompts?
[snip]
Sincerely,
Gene Wirchenko
The OS side has ultimate control. A bugged device cannot
force an endpoint connection. It is up to the OS to set it
up.
Either the OS or AV code, could hook the routine that
sets up new USB devices. If the characteristics of the
devices were recorded by the manufacturers of them,
an AV code could simply deny the connection entirely,
then present a dialog box indicating what has happened.
The only time the user sees a dialog in this case,
is when the thing they plugged in, doesn't work at all.
Using the user as a filter, avoided the need for a
central registry. But if you wanted to do the
extra work, you could simply lock out devices
that don't match their hardware template (i.e.
Logitech 9000 has composite+video+audio but no HID).
Paul