Creating kernel-mode dlls

Hi,

I have a driver whose API I need to export, in kernel-mode to another
driver, which is to be written by a customer. Do I have to build a
kernel-mode dll? How do I go about doing that? How else can I achieve
this?

Thanks in advance,
Sheela.

Sheela,

There are 3 common ways to handle this communication:

  1. If you are not doing a lot of calls just use IoCallDriver to call
    DeviceIoControls in the other driver.

  2. You can have the customer’s driver issue a single DeviceIoControl
    to you and you fill in a block of addresses for the routines you
    wish
    to export. If you get OSR NT Insider there is an article on this
    technique in the Jan/Feb 2000 issue.

  3. Build a kernel mode DLL this is pretty easy. The best resource on
    this is an article from the NT Insider from November/December 1997.
    It is available on the web at www.osr.com.

Don Burn
NT Device Driver and Filesystem Consulting

----- Original Message -----
From:
To: “NT Developers Interest List”
Sent: Wednesday, April 05, 2000 2:22 PM
Subject: [ntdev] Creating kernel-mode dlls

> Hi,
>
> I have a driver whose API I need to export, in kernel-mode to another
> driver, which is to be written by a customer. Do I have to build a
> kernel-mode dll? How do I go about doing that? How else can I achieve
> this?
>
> Thanks in advance,
> Sheela.
>
> —
> You are currently subscribed to ntdev as: xxxxx@acm.org
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>

I’ve done it with km printer driver DLLs.

I’ve gone into the build.log file, swiped all the parameters and copied them directly into MSVC and created a new project.

Then from the main DLL do an EngLoadImage and EngFindImageProcAddress, not unlike the Win32 LoadLibrary and GetProcAddress.

Steve

At 02:22 PM 4/5/00, you wrote:

Hi,

I have a driver whose API I need to export, in kernel-mode to another
driver, which is to be written by a customer. Do I have to build a
kernel-mode dll? How do I go about doing that? How else can I achieve
this?

Thanks in advance,
Sheela.


You are currently subscribed to ntdev as: xxxxx@nol.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Yes, I do have OSR NT Insider Jan/Feb 2000 Issue.
Thanks to both you and Steve for your replies. I will go ahead and try
these.

Sheela.

On 04/05/00, ““Don Burn” ” wrote:
> Sheela,
>
> There are 3 common ways to handle this communication:
>
> 1. If you are not doing a lot of calls just use IoCallDriver to call
> DeviceIoControls in the other driver.
>
> 2. You can have the customer’s driver issue a single DeviceIoControl
> to you and you fill in a block of addresses for the routines you
> wish
> to export. If you get OSR NT Insider there is an article on this
> technique in the Jan/Feb 2000 issue.
>
> 3. Build a kernel mode DLL this is pretty easy. The best resource on
> this is an article from the NT Insider from November/December 1997.
> It is available on the web at www.osr.com.
>
> Don Burn
> NT Device Driver and Filesystem Consulting
>
> ----- Original Message -----
> From:
> To: “NT Developers Interest List”
> Sent: Wednesday, April 05, 2000 2:22 PM
> Subject: [ntdev] Creating kernel-mode dlls
>
>
> > Hi,
> >
> > I have a driver whose API I need to export, in kernel-mode to another
> > driver, which is to be written by a customer. Do I have to build a
> > kernel-mode dll? How do I go about doing that? How else can I achieve
> > this?
> >
> > Thanks in advance,
> > Sheela.
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@acm.org
> > To unsubscribe send a blank email to $subst(‘Email.Unsub’)
> >