Kernel DLL installation

Hi,

I am developing a kernel dll driver for w2k, w2k3 servers on all hardware platforms. It needs to be started at boot time. I can use inf file or service API to install it. How can I get my driver signed? Which way is better to install the driver?

Thanks,
JT

Does this driver have hardware associated with it or is a a helper only?
Kernel mode DLL’s are typically loaded on demand.

If this does have hardware support, I would forget the kernel DLL since it
is not a good model in the face of PnP. Instead you should look at Device
Interfaces.

If the driver does not have hardware it cannot be WHQL signed normally.

The question on installation, in part depends on whether there is hardware
and also on PNP support.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

wrote in message news:xxxxx@ntdev…
> Hi,
>
> I am developing a kernel dll driver for w2k, w2k3 servers on all hardware
> platforms. It needs to be started at boot time. I can use inf file or
> service API to install it. How can I get my driver signed? Which way is
> better to install the driver?
>
> Thanks,
> JT
>

The driver is only a helper. Some real device drivers depend on it. The relation between the helper and the real device driver looks similar to class/miniclass or port/miniport driver.

If the helper cannot be whql signed normally, there will be special program to do some types of code coverage testing, right? What is the new requirements on longhorn for this driver?

Thanks,
JT

This offers several challenges for testing:

  1. The real drivers are going to be harder to get signed since WHQL expects
    that drivers do not have dependancies for testing.

  2. The DLL is hard to sign since it does not stand alone. The code
    coverage testing program did not happen, and there is no easy way to get a
    DLL signed. You can create a PIC for it which is required for Vista to load
    any kernel mode module.

Is there a real need for this code to be in a kernel mode DLL? Unless the
DLL is huge or has other special requirements, you may want to consider just
making it a static library and linking it with the drivers that need it,
since that will make WHQL much easier.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

wrote in message news:xxxxx@ntdev…
> The driver is only a helper. Some real device drivers depend on it. The
> relation between the helper and the real device driver looks similar to
> class/miniclass or port/miniport driver.
>
> If the helper cannot be whql signed normally, there will be special
> program to do some types of code coverage testing, right? What is the new
> requirements on longhorn for this driver?
>
> Thanks,
> JT
>

Thank you very much for your help.

What i am trying to do is to follow the Microsoft class/miniclass or port/miniport model to develop our device driver. It seems like Microsoft discourage us to do the same by creating some difficulties of driver testing/signing.

BTW, How does Windows install classpnp.sys driver or storport.sys?

Thanks,
JT

xxxxx@emc.com wrote:

The driver is only a helper. Some real device drivers depend on it. The relation between the helper and the real device driver looks similar to class/miniclass or port/miniport driver.

If a “real device driver” depends on it, then the helper DLL will get
signed as part of thedriver package for that device. If 10 devices need
it, then it will be part of 10 signed driver packages.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.