需要三個檔案:
源檔案(假設只有一個), MAKEFILE, SOURCE總共三個檔案。
源檔案是你的驅動程式了。
MAKEFILE如下:
#
# DO NOT EDIT THIS FILE!!! Edit ./sources. if you want to add a new source
# file to this component. This file merely indirects to the real make file
# that is shared by all the driver components of the Windows NT DDK
#
!INCLUDE $(NTMAKEENV)/makefile.def
其實就一句話。一般不用修改
SOURCE檔案:
TARGETNAME=WssProcMon
TARGETPATH=../obj
TARGETTYPE=DRIVER
SOURCES=WssProcMon.c
TARGETNAME是你準備編譯成檔案的名字
TARGETPATH產生的驅動的目錄
TARGETTYPE目標類型,當然是驅動了。
SOURCES 這裡是包含的源檔案程式,可以包含多個檔案,我這裡只有一個。
還可以有包含標頭檔的,需要包含下面的語句:
INCLUDES=../inc
這是標頭檔包含的地方,當然,也可以直接放在目前的目錄下。
這樣就差不多了,這樣把這三個檔案放在同個檔案夾中。
進入ddk的編譯器,然後進入該檔案夾,使用命令:
build -cez
就可以看到如下的資訊:
D:/工作/軟體白名單系統/進程監控驅動/src>build -cez
BUILD: Adding /Y to COPYCMD so xcopy ops won’t hang.
BUILD: Using 2 child processes
BUILD: Object root set to: ==> objchk_wnet_x86
BUILD: Compile and Link for i386
BUILD: Examining d:/工作/軟體白名單系統/進程監控驅動/src directory for files to compile.
BUILD: Compiling d:/工作/軟體白名單系統/進程監控驅動/src directory
1>Compiling - wssprocmon.c for i386
BUILD: Linking d:/工作/軟體白名單系統/進程監控驅動/src directory
1>Linking Executable - d:/工作/軟體白名單系統/進程監控驅動/obj/i386/wssprocmon.sys for i386
BUILD: Done
2 files compiled
1 executable built
這樣就可以看到sys檔案了。
補充下:TARGETNAME=HelloWDM //編譯出來的驅動程式的名稱TARGETTYPE=DRIVER //編譯的類型是驅動程式編譯DRIVERTYPE=WDM //驅動程式的類型是WDM驅動程式TARGETPATH=OBJ //產生的檔案存放在OBJ目錄中INCLUDES=$(BASEDIR)/inc;/ //這是需要引入的標頭檔 $(BASEDIR)/inc/ddk;/TARGETLIBS=$(BASEDIR)/lib/*/free/usbd.lib/ //這是需要引入的庫檔案SOURCES=HelloWDM.cpp/ //這是源碼檔案