There is a new feature for virtual drivers only that the .inf can specify a
hardware ID in its [DriverInstall32]. When the driver is added to the Pnp
driver store, Pnp will create a new physical device object with this hardware
So you no longer need to do “devcon install foo.inf some\hardware-id” – you can
use the simpler “pnputil -a foo.inf”.
If you do the devcon command, you end up with both physical device objects, as
If you are writing a driver for actual physical hardware, you need to remove
the [DriverInstall32] section so you don’t get a useless PDO.
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> on
behalf of Tim Roberts <timr@xxxxxxxxx>
Sent: Thursday, September 28, 2017 11:32:09 PM
Subject: [wdmaudiodev] Extra PDO
I've been writing drivers for a very long time, so I should know this, but I
I'm deriving a virtual audio driver from either SYSVAD or MSVAD (I have both in
prototype form until I decide). In the INF, I advertise a hardware ID, let's
say ROOT\MySample. I installed it with "devcon install xxx.inf ROOT\MySample".
Now, I have TWO PDOs: one for ROOT\MySample, and one for ROOT\MEDIA\0000. Both
appear in Device Manager. The SYSVAD sample limits itself to one instance, so
it fails AddDevice and I get an yellow bang in Device Manager.
How do I get rid of one of the two entries? Should I not have used "devcon
install" to install it?
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: