Hi,
May be this is a very basic question but I am new to kernel mode driver
development. So please help me out…
I am trying to debug sample mirror driver available in WDM. I have build
chceked version of the driver and replaced .sys file in system32/driver
folder and .dll file in system32 folder. But when I boot the system and
connect debugger, I could not see the driver in loaded drivers list.
I have read some where that we need to make some registry settings to
automatic load a driver on each boot but I forgot how and what valure it
needs to set for automatic load/mannual load. If any other ways available to
load driver to debug, please let me know.
Thanks
/sarbojit
>I forgot how and what valure it needs to set for automatic load/mannual load.
Check “Start” value in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services<yourdrivername>. If this value = 4 your driver manually loaded.
You could use “Driver Loader” utility which you could download from this web site.
Igor Sharovar
Thanks Igor.
With suggested change now I can see the driver in loaded module list(using
debugger cmds lm/lml) but it is not hitting any break points.
I have checked Symbol files, those are correctly replaced. It seems there
may be any other reason which causing this but I am unable to find out :(.
I have just build available mirror driver in WDK. As per my understanding
this sample mirror driver is divided into two modules one is in .sys and
another is in .dll format. I can see mirror.sys is getting loaded but not
sure about mirror.dll. I have tried to load mirror.dll using cmd “reload \f
mirror.dll” but not able to load(got error msg : “mirror.dll” was not found
in the image list …). Please let me know how to load .dlls.
May be questions I am asking are very basic and I am sorry for that but if
you have any known site/book which can give basic idea of “how .dll and .sys
interacts”/ “How to load .dll files” / “How to load and debug kernel mode
customized driver”…etc., please let me know . Any help or suggestion will
be highly appreciable.
/sarbojit
On Thu, Jul 8, 2010 at 1:37 AM, wrote:
> >I forgot how and what valure it needs to set for automatic load/mannual
> load.
> Check “Start” value in
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services<yourdrivername>. If
> this value = 4 your driver manually loaded.
> You could use “Driver Loader” utility which you could download from this
> web site.
>
> Igor Sharovar
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
Sarbojit Sarkar wrote:
I have just build available mirror driver in WDK. As per my
understanding this sample mirror driver is divided into two modules
one is in .sys and another is in .dll format. I can see mirror.sys is
getting loaded but not sure about mirror.dll. I have tried to load
mirror.dll using cmd “reload \f mirror.dll” but not able to load(got
error msg : “mirror.dll” was not found in the image list …).
Please let me know how to load .dlls.
May be questions I am asking are very basic and I am sorry for that
but if you have any known site/book which can give basic idea of “how
.dll and .sys interacts”/ “How to load .dll files” / “How to load and
debug kernel mode customized driver”…etc., please let me know . Any
help or suggestion will be highly appreciable.
This is kind of an unusual case, because you’re asking a very general
question about a very specific case. You don’t really have a .dll and
.sys interaction here. What you have is a display driver and miniport
pair. In this case, BOTH of those things are kernel drivers. The
display driver happens to have a .dll extension because of history
(prior to NT 4.0, display drivers WERE simple user-mode DLLs), but it is
a kernel-mode driver.
The way you associate a display driver with its miniport via in the
registry. Did you use the INF file to do your installation? As long as
the InstalledDisplayDrivers value is set up properly in the Services key
for your miniport, that should be enough to get you loaded.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.