Windows驅動開發筆記

1、32位系統只能運行32位的驅動,64位系統只能運行64位的驅動;
2、DebugView既能查看32位驅動的輸出,也能查看64位驅動的調試輸出;
3、win7開機按F8,然後設置禁用驅動簽名強制,之後加載驅動工具和DebugView均以管理員權限執行;
4、目前在VS2015下編譯的64位驅動不能運行,只能在命令行下編譯,但是可以使用VS編輯驅動程序源碼;
5、設備對象是唯一可以接收請求的實體;而請求可以是IRP請求或其他請求(比如快速IO調用)。
6、IRP棧空間
在這裏插入圖片描述
7、控制設備對象
在這裏插入圖片描述
8、應用程序對內核的請求被IO管理器翻譯成IRP請求,這些IRP請求被髮送給設備,內核通過調用分發函數來處理IRP請求,所以驅動程序員需要實現這些分發函數(回調函數)。
9、驅動對象(DRIVER_OBJECT)結構體有一個指向DEVICE_OBJECT的指針,DEVICE_OBJECT結構體也有一個指向DEVICE_OBJECT結構的指針,所以一個驅動程序的所有設備對象構成了一個鏈表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章