Introduction
I used command line to compile DDK driver, but never got used to it. So I thought, why not write a wizard to do that.
So I did, and can compiled DDK's example and even WinpCap's NDIS driver.
Background
I stole some QuickSYS' files, and I appreciate the author very much.
Using the code
First, you may have to install DDK. This Wizard depends on the environment variable "ddkroot". If you want to build NDIS driver, please add NDIS.lib to your project.
For common use, just create a new project, choose the "DDK wizard", and press button "Finish", and then everything is OK.
If you want to compile the DDK's examples, you may refer to one file named "sources" in the example directory. Some macros are defined in that file.
For example. you may want to compile DDK's Passthru sample:
- Create a new project using this wizard, and delete the c and h file which is created by wizard, because we don't need them now.
- Copy the files(*.c, *.h, *.rc) from ntddk\src\network\ndis\passthru to the project directory.
- Add these files to the project.
- File "sources" are like the following:
TARGETNAME=PASSTHRU
TARGETPATH=obj
TARGETTYPE=DRIVER
TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib
C_DEFINES=$(C_DEFINES) -DNDIS40 -DNDIS_MINIPORT_DRIVER -DNDIS40_MINIPORT
INCLUDES=..\..\inc
SOURCES= passthru.c \ protocol.c \ miniport.c \ passthru.rc
So now you know what to do next?
Add NDIS.LIB to your project, add NDIS40, NDIS_MINIPORT_DRIVER, NDIS40_MINIPORT to pre-compile macros. And then build debug and release, you will get success except some warnings.
Points of Interest
This is my first DDK wizard, and DDK is hard for me to master. So this wizard can't be very good. I tested it all in WIN2K DDK. If I have enough time, I will write a NDIS project wizard. May support NIC, IM, TDI or so.
Finally, sorry for my poor English.
History
11-07-2003 - the wizard script can run now.