From: "Matt A." <[email protected]
Sent: Tuesday, April 25, 2000 9:43 PM
> I have a WDM driver that loads and works fine under Windows 2000. Under
> Windows 98, however, I get an error 192 from the Add Hardware Wizard
> Plug and Play installation which, intepreted as a Win32 error code, means
Well, it turns out error 192 displayed by the Wizard is not
ERROR_EXE_MARKED_INVALID -- it not a Win32 error at all. Neither does it
appear to be a Configuration Manager or Device Installer error. I don't
know what kind of error code it is, but apparently it means the Windows
cannot locate a file specified in the .inf. How as a developer you're
supposed to know this, I can't figure out.
In anycase, I tracked the 192 problem down to having a [SourceDisksNames]
section that looked like this:
When I changed it to the following, error 192 went away and Windows starting
loading my driver.
> That is, I have created a registry key
> "HKLM\System\CurrentControlSet\Services\MyDriver" containing an
> string value (all modelled after some existing entries I found there) and
> passing the string "MyDriver" to NtKernLoadDriver() as a UNICODE_STRING.
> driver file is at the location specified by "ImagePath" (the same place,
> fact, that PELDR_LoadModule() is able to load it from). Am I missing
> something else?
I finally got NtKernLoadDriver() to work too -- verifying that my driver was
indeed a valid WDM driver as far as Win98 is concerned. I had been somewhat
misled by documentation which described the parameter to NtKernLoadDriver()
as being the "name of the driver's service key under
\HKLM\System\CurrentControlSet\Services". The problem was that I was
specifying only the "leaf" name of my service key (that is, literally just
"MyDriver") and not the whole branch. If the docs had said "*path* of the
driver's service key" I probably wouldn't have wasted any time on this.
Of course, you're also supposed to pass an NT Object Manager-style path like
"\HKLM\System\CurrentControlSet\Services" like the docs suggest. Thanks to
NuMega for an example of this at their Web site