How to build kernel static library

We have several common modules and consider to build a static
library so that other drivers can link with it. How can we
do that? Is that same as build a kernel dynamic dll (using
empty DriverEnry and exporting functions) or just like build general
user level static library? Do I need some special settings in sources file?

Your help will be appreciated.

There are at least two places I would recommend to look at

1)osronline.com. NtInsider had a nice article about building sucha library
2) Not sure if James Antigony ( I’m bad at remembering names and spelling,
excuse me ) site is still up or not, but that used to have an
implementation(example ).

-pro
----- Original Message -----
From: “David Wu”
To: “Windows File Systems Devs Interest List”
Sent: Saturday, April 23, 2005 9:20 AM
Subject: [ntfsd] How to build kernel static library

> We have several common modules and consider to build a static
> library so that other drivers can link with it. How can we
> do that? Is that same as build a kernel dynamic dll (using
> empty DriverEnry and exporting functions) or just like build general
> user level static library? Do I need some special settings in sources
> file?
>
> Your help will be appreciated.
>
>
> —
> Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@garlic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

David,

In your sources file in the library source directory, set TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want to link with this library set TARGETLIBS appropriately, i.e. include something like:
\OBJ$(BUILD_ALT_DIR)\*\.lib
Jerry.
xxxxx@lists.osr.com wrote: -----

>To: "Windows File Systems Devs Interest List"
>From: "David Wu"
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static
>library so that other drivers can link with it. How can we
>do that? Is that same as build a kernel dynamic dll (using
>empty DriverEnry and exporting functions) or just like build general
>user level static library? Do I need some special settings in sources
>file?
>
>Your help will be appreciated.
>
>
>---
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com

Hi Jerry,
Thank you for your info.
One more question. Do I still need keep DriverEntry() when I build my kernel
static library?

Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@attotech.com
Sent: Saturday, April 23, 2005 11:48 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] How to build kernel static library

David,

In your sources file in the library source directory, set
TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want
to link with this library set TARGETLIBS appropriately, i.e. include
something like:

\OBJ$(BUILD_ALT_DIR)*<your lib name>.lib

Jerry.

xxxxx@lists.osr.com wrote: -----

>To: “Windows File Systems Devs Interest List”
>From: “David Wu”
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static
>library so that other drivers can link with it. How can we
>do that? Is that same as build a kernel dynamic dll (using
>empty DriverEnry and exporting functions) or just like build general
>user level static library? Do I need some special settings in sources
>file?
>
>Your help will be appreciated.
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed to
ntfsd as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com

David,

A kernel static library is like anyother static library, you link it
into you driver, and the modules become part of your .sys file. There is no
need for DriverEntry.


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

“David Wu” wrote in message news:xxxxx@ntfsd…
Hi Jerry,
Thank you for your info.
One more question. Do I still need keep DriverEntry() when I build my kernel
static library?

Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@attotech.com
Sent: Saturday, April 23, 2005 11:48 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] How to build kernel static library

David,

In your sources file in the library source directory, set
TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want
to link with this library set TARGETLIBS appropriately, i.e. include
something like:

\OBJ$(BUILD_ALT_DIR)*<your lib name>.lib

Jerry.

xxxxx@lists.osr.com wrote: -----

>To: “Windows File Systems Devs Interest List”
>From: “David Wu”
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static
>library so that other drivers can link with it. How can we
>do that? Is that same as build a kernel dynamic dll (using
>empty DriverEnry and exporting functions) or just like build general
>user level static library? Do I need some special settings in sources
>file?
>
>Your help will be appreciated.
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed to
ntfsd as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com

True there is no need for DriverEntry in such a dll, but removing it proves
more work than is needed. Thus you will find do-nothing DriveEntry’s are
used that only return.

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Saturday, April 23, 2005 12:13 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] How to build kernel static library

David,

A kernel static library is like anyother static library, you link it
into you driver, and the modules become part of your .sys file. There is no

need for DriverEntry.


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

“David Wu” wrote in message news:xxxxx@ntfsd…
Hi Jerry,
Thank you for your info.
One more question. Do I still need keep DriverEntry() when I build my kernel
static library?

Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@attotech.com
Sent: Saturday, April 23, 2005 11:48 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] How to build kernel static library

David,

In your sources file in the library source directory, set
TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want
to link with this library set TARGETLIBS appropriately, i.e. include
something like:

\OBJ$(BUILD_ALT_DIR)*<your lib name>.lib

Jerry.

xxxxx@lists.osr.com wrote: -----

>To: “Windows File Systems Devs Interest List”
>From: “David Wu”
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static
>library so that other drivers can link with it. How can we
>do that? Is that same as build a kernel dynamic dll (using
>empty DriverEnry and exporting functions) or just like build general
>user level static library? Do I need some special settings in sources
>file?
>
>Your help will be appreciated.
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed to
ntfsd as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: glittle@mn.rr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

Gary,

The question was on a static lib, that is just a collection of object
files that get pulled into you driver if they are referenced. For a DLL I
would definitely have said, use DriverEntry, but a static lib, is
esseitnally little different from listing the individual obiect files on the
link line.


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

“Gary G. Little” wrote in message news:xxxxx@ntfsd…
True there is no need for DriverEntry in such a dll, but removing it proves
more work than is needed. Thus you will find do-nothing DriveEntry’s are
used that only return.

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Saturday, April 23, 2005 12:13 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] How to build kernel static library

David,

A kernel static library is like anyother static library, you link it
into you driver, and the modules become part of your .sys file. There is no

need for DriverEntry.


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

“David Wu” wrote in message news:xxxxx@ntfsd…
Hi Jerry,
Thank you for your info.
One more question. Do I still need keep DriverEntry() when I build my kernel
static library?

Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@attotech.com
Sent: Saturday, April 23, 2005 11:48 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] How to build kernel static library

David,

In your sources file in the library source directory, set
TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want
to link with this library set TARGETLIBS appropriately, i.e. include
something like:

\OBJ$(BUILD_ALT_DIR)*<your lib name>.lib

Jerry.

xxxxx@lists.osr.com wrote: -----

>To: “Windows File Systems Devs Interest List”
>From: “David Wu”
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static
>library so that other drivers can link with it. How can we
>do that? Is that same as build a kernel dynamic dll (using
>empty DriverEnry and exporting functions) or just like build general
>user level static library? Do I need some special settings in sources
>file?
>
>Your help will be appreciated.
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed to
ntfsd as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: glittle@mn.rr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

Then I should have “hushed my mouf”. However with the move to Minnesota and
the ISP change to Road Runner I have missed a few posts. Oh well .

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Saturday, April 23, 2005 6:31 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] How to build kernel static library

Gary,

The question was on a static lib, that is just a collection of object
files that get pulled into you driver if they are referenced. For a DLL I
would definitely have said, use DriverEntry, but a static lib, is
esseitnally little different from listing the individual obiect files on the

link line.


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

“Gary G. Little” wrote in message news:xxxxx@ntfsd…
True there is no need for DriverEntry in such a dll, but removing it proves
more work than is needed. Thus you will find do-nothing DriveEntry’s are
used that only return.

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Saturday, April 23, 2005 12:13 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] How to build kernel static library

David,

A kernel static library is like anyother static library, you link it
into you driver, and the modules become part of your .sys file. There is no

need for DriverEntry.


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

“David Wu” wrote in message news:xxxxx@ntfsd…
Hi Jerry,
Thank you for your info.
One more question. Do I still need keep DriverEntry() when I build my kernel
static library?

Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@attotech.com
Sent: Saturday, April 23, 2005 11:48 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] How to build kernel static library

David,

In your sources file in the library source directory, set
TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want
to link with this library set TARGETLIBS appropriately, i.e. include
something like:

\OBJ$(BUILD_ALT_DIR)*<your lib name>.lib

Jerry.

xxxxx@lists.osr.com wrote: -----

>To: “Windows File Systems Devs Interest List”
>From: “David Wu”
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static
>library so that other drivers can link with it. How can we
>do that? Is that same as build a kernel dynamic dll (using
>empty DriverEnry and exporting functions) or just like build general
>user level static library? Do I need some special settings in sources
>file?
>
>Your help will be appreciated.
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed to
ntfsd as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: glittle@mn.rr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: glittle@mn.rr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system.
http://www.nod32.com

TARGETTYPE=LIBRARY

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “David Wu”
To: “Windows File Systems Devs Interest List”
Sent: Saturday, April 23, 2005 8:20 PM
Subject: [ntfsd] How to build kernel static library

> We have several common modules and consider to build a static
> library so that other drivers can link with it. How can we
> do that? Is that same as build a kernel dynamic dll (using
> empty DriverEnry and exporting functions) or just like build general
> user level static library? Do I need some special settings in sources file?
>
> Your help will be appreciated.
>
>
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

Actually, I was just not sure if kernel static library needs a
empty DriverEntry() (like kernel dynamic dll). Now it is clear and I make
them work.
Thank for all your guys info.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Saturday, April 23, 2005 6:56 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] How to build kernel static library

Then I should have “hushed my mouf”. However with the move to Minnesota and
the ISP change to Road Runner I have missed a few posts. Oh well .

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Saturday, April 23, 2005 6:31 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] How to build kernel static library

Gary,

The question was on a static lib, that is just a collection of object
files that get pulled into you driver if they are referenced. For a DLL I
would definitely have said, use DriverEntry, but a static lib, is
esseitnally little different from listing the individual obiect files on the

link line.


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

“Gary G. Little” wrote in message news:xxxxx@ntfsd…
True there is no need for DriverEntry in such a dll, but removing it proves
more work than is needed. Thus you will find do-nothing DriveEntry’s are
used that only return.

Gary

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Saturday, April 23, 2005 12:13 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] How to build kernel static library

David,

A kernel static library is like anyother static library, you link it
into you driver, and the modules become part of your .sys file. There is no

need for DriverEntry.


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

“David Wu” wrote in message news:xxxxx@ntfsd…
Hi Jerry, Thank you for your info. One more question. Do I still need keep
DriverEntry() when I build my kernel static library?

Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@attotech.com
Sent: Saturday, April 23, 2005 11:48 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] How to build kernel static library

David,

In your sources file in the library source directory, set
TARGETTYPE=DRIVER_LIBRARY. Then in the sources file of the driver you want
to link with this library set TARGETLIBS appropriately, i.e. include
something like:

\OBJ$(BUILD_ALT_DIR)*<your lib name>.lib

Jerry.

xxxxx@lists.osr.com wrote: -----

>To: “Windows File Systems Devs Interest List”
>From: “David Wu”
>Sent by: xxxxx@lists.osr.com
>Date: 04/23/2005 12:20PM
>Subject: [ntfsd] How to build kernel static library
>
>We have several common modules and consider to build a static library
>so that other drivers can link with it. How can we do that? Is that
>same as build a kernel dynamic dll (using empty DriverEnry and
>exporting functions) or just like build general user level static
>library? Do I need some special settings in sources file?
>
>Your help will be appreciated.
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@attotech.com To
>unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed to
ntfsd as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: glittle@mn.rr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system. http://www.nod32.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system. http://www.nod32.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: glittle@mn.rr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system. http://www.nod32.com

NOD32 1.1075 (20050423) Information

This message was checked by NOD32 antivirus system. http://www.nod32.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com