只是能夠經過編譯的 不完整的 驅動、、(須要下載Windows DDK、、)c++
很小以致於不用IDE環境了、、、直接txt咯、、這樣就得本身寫makefile和Sources文件、、、編程
1 新建一個文本文檔 以c爲後綴名來編寫、取名xx_hello.cide
這說明是以c的方式來書寫以c的方式來書寫 就是以c語言的方式來編譯、、函數
C語言有一個特色 入口函數自動爲stdcall 方式 來編譯 而c++則爲cdecl調用方式、ui
2 驅動的main函數、、對象
NT式驅動的頭文件申明爲ntddk.h文檔
DriverEntry //入口函數至關於win32編程中的main it
DriverEntry 有2個參數 以下:編譯
PDRIVER_OBJECT class
//此結構用來傳遞驅動對象,由系統內核的I/O管理器傳遞進來的驅動對象
PUNICODE_STRING
//此結構用來指向此驅動負責的註冊表,也就是驅動程序在註冊表中的路徑
好咯 xx_hello.c格式以下、、
#include <ntddk.h>
int DriverEntry(PDRIVER_OBJECT A,PUNICODE_STRING B)
{
return (1);
}
3 makefile文件 通常就一行、、
# 此文件 通常狀況下只有一行 而且不須要修改不能有前導空格
#號前都是註釋
!INCLUDE $(NTMAKEENV)\makefile.def
4 Sources文件、、
#下邊這行指定生成驅動名字xx_hello.sys
TARGETNAME=xx_hello
#下邊這行指定生成文件的類型 DRIVER指驅動
TARGETTYPE=DRIVER
#下邊這行指定生成驅動所在的路徑 \SYS\ xx_hello.sys
TARGETPATH=SYS
#下邊這行指定相關頭文件所在目錄路徑 IDE環境的包含已經設置
#斜槓至關於換行注意分號
INCLUDES=$(BASEDIR)\inc;\
$(BASEDIR)\inc\wxp;\
##上邊必空一行 C:\WINDDK\3790.1830 等價 $(BASEDIR)(移植性好)
#下邊這行指定驅動源代碼*.cpp或者*.c 很重要寫錯了找不到、最後沒有分號
SOURCES= xx_hello.c\
三個文件寫好後放到一個文件夾下、、
使用ddk編譯、、便可、、
這裏只能編譯一次要想強制性再生成一次驅動 這樣既可build –c 便可、、