Greetings,
Interesting project

Some of this is a bit curious, but I do know that
there is a difference when you are adding a new device/enabling for the
first time. Windows creates a special thread for the install and will not
allow other "PNP" events to occur until it completes. If it does not
succeed, you will normally see a "there was a problem with your hardware"
bubble. But otherwise there can be a delay for the next "PNP" event. They
sort of line up in a row and then are sent through this thread pipe. There
is a timeout value of up to 2 minutes, but generally it seems to be about
30 seconds to a minute.
Any other time, the function call is taken care of immediately. I would
think that calling the ClassInstaller when the thread is active would
probably cause a delay because of the install thread. Does that make any
sense?
Daniel Whitaker
DDK Support Team
This posting is provided "AS IS" with no warranties, and confers no rights