xx_學驅動 -- 最小的驅動程序、

只是能夠經過編譯的 不完整的 驅動、、(須要下載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 便可、、

相關文章
相關標籤/搜索