1.搭建編譯環境
(1) 安裝編譯器:vc6.0或vc2003、vc2005等。
(2) 安裝驅動開發工具包ddk ( driver development kits )
下找到你要的目標平台。
注意:這裡的版本指的是將要執行你編譯的驅動的機器作業系統版本,與你自己現在執行作業系統版本無關。
2.編寫第乙個驅動
/* hello.c */
#include
void
hellounload( in pdriver_object driverobject )
ntstatus driverentry( in pdriver_object pdriverobject,
in punicode_string pregistrypath )
driverentry 驅動的入口函式,相當c中main函式。
dbgprint 輸出函式,相當c中printf函式。
driverunload:函式指標,指向驅動解除安裝函式,當驅動動態解除安裝的時候呼叫它釋放資源,有點像析構函式。
makefile檔案
!include $(ntmakeenv)/makefile.def
sources檔案
targetname=hello
targettype=driver
targetpath=obj
includes=
targetlibs=
sources=hello.c
編譯
(1) 開始/所以程式/develompent kits/ windows ddk 2600 / build environments /win 2k checked build environment
(2) 輸入build進行編譯。
(3)沒有任何問題的話,將在objckd/i386/下面生成乙個hello.sys,這就是驅動檔案。
3.驅動動態引導程式
#include
#include
int_cdecl main(
void)if
(hservice)
closeservicehandle(hscmanager);
}return0;}
4.執行驅動
(1).將hello.sys複製到c:/hello.sys
(2).執行檢視訊息工具dbgview.exe
(debug view)。
(3).執行驅動引導程式,載入hello.sys。
你將會在dbgview.exe程式中看到第一條輸出。
(4).在驅動引導程式上按任意鍵,解除安裝hello.sys驅動。
你將會在dbgview.exe程式中看到第二條輸出。
如下圖
windows驅動開發學習入門調研
公司專案中需要windows驅動的方面的工作。以前我也有興趣,只是沒有需求,也沒有深入,這個主要是沒有動力。這次公司有這個需求,我覺得有動力,可以向這個方向努力一下。那麼這就又開始對windows驅動開發先做一下初級階段的調研 windows驅動開發如何入門 wdk 環境搭建 vs2015 wdk1...
Windows核心驅動開發入門學習資料
windows核心驅動開發入門學習資料 一 書籍推薦 其他驅動開發相關書籍 二 原始碼學習 三 學習 看雪論壇 驅網 帆子核心驅動網 看雪kssd 一蓑煙雨 吾愛破解 debugman 四 其他資料 整理自看雪 驅動程式設計基礎 showthread.php?t 56631 通俗解析irp和i o裝...
Windows核心驅動開發入門學習資料
整理 一 書籍推薦 其他驅動開發相關書籍 二 原始碼學習 三 學習 看雪論壇 驅網 帆子核心驅動網 看雪kssd 一蓑煙雨 吾愛破解 debugman 四 其他資料 整理自看雪 驅動程式設計基礎 showthread.php?t 56631 通俗解析irp和i o裝置棧在核心程式中的作用 showt...