0dbell
Tue Jul 10 14:09:47 CDT 2007
On Jul 9, 12:21 pm, 0db...@gmail.com wrote:
> I am trying to understand from reading the DPInst WDK documentation to
> which category a virtual device driver would fall: a "device that is
> configured in the system" or a "nonpresent device"?
>
> The documentation reads:
>
> "DPInst checks whether the hardware identifiers or compatible
> identifiers in the INF file match a device that is configured in the
> system or match a nonpresent device."
>
> Since in a virtual device driver there is no hardware involved (i.e.
> no "device that is configured in the system"?), it is tempting to
> think that DPInst would be dealing with a "nonpresent device", right?
>
> But when I install a virtual device driver (e.g. MSVAD) manually,
> using Control Panel's Add Hardware, I am first prompted by a question
> "Have you already connected this hardware to your computuer?" - to
> which I must answer "Yes, I have already connected the hardware" or
> else the driver will not be installed...
>
> So, how is a virtual device driver treated from the standpoint of
> DPInst?
>
Hmmm... no answer means that either:
1. No one understands the question (because I didn't know how to ask).
2. No one knows the answer.
3. Everybody knows the answer, but the question is so dumb
that it begs to be unanswered.
4. Everybody is on vacation.
5. All of the above. :-)
Well, trying to build a DPInst package proved to be surprisingly easy,
especially when using IExpress. I said "surprisingly" because the
actual steps of how to go from a .inf and a .sys file to a DPInst
package are hidden very well inside the WDK documentation...
So, I built a DPInst package for my MSVAD based driver but... despite
DPInst reporting successful completion, the driver was NOT installed
and the log file for DPInst reads:
==== QUOTE ====
INFO: ENTER: DriverPackagePreinstallW
SUCCESS:c:\docume~1\admin\locals~1\temp\ixp000.tmp\msvadsim.inf
is preinstalled.
INFO: RETURN: DriverPackagePreinstallW (0xB7)
INFO: ENTER: DriverPackageGetPathW
SUCCESS:Found driver store entry.
INFO: RETURN: DriverPackageGetPathW (0x0)
INFO: ENTER: DriverPackageInstallW
INFO: Installing INF file
'C:\WINDOWS\system32\DRVSTORE\ ... \msvadsim.inf' of Type 6.
INFO: Looking for Model Section [MSVAD_DeviceSection]...
INFO: No matching devices found in INF
"C:\WINDOWS\system32\DRVSTORE\ ... \msvadsim.inf" on the
Machine.
INFO: No drivers installed.
No devices found that match driver(s) contained in
'C:\WINDOWS\system32\DRVSTORE\ ... \msvadsim.inf'.
SUCCESS:Installation completed with code 0xE000020B.
INFO: RETURN: DriverPackageInstallW (0xE000020B)
INFO: No matching device was found for
'c:\docume~1\admin\locals~1\temp\ixp000.tmp\msvadsim.inf'.
Driver will be installed when plugged in.
INFO: Returning with code 0x100
==== ENDQUOTE ====
Hmmm... I thought DPInst was the answer to devcon.exe's bugs ???
But some search found a confident claim that "DifxApi doesn't work
with virtual drivers":
http://tinyurl.com/ywhmtl
Huh??? DifxApi doesn't work with virtual drivers? Is this true?
If so, why?
If not, is there a way to *automatically* install a virtual driver
like the MSVAD sample? That is, without using all the manual
interactive steps using Add Hardware (which works perfectly as we all
know).
Thanks,
Don