Windows NT 採用分層驅動模型,核心模式驅動運行於 Ring 0 (Kernel Mode),透過 I/O Manager 統一管理 IRP (I/O Request Packet) 流轉。本文從系統架構、驅動分類、入口點、IRP 處理、IRQL 排程、關鍵物件六大面向,為驅動開發新手建立完整知識地圖。
CreateFile/CloseHandle。DeviceIoControl 自訂控制碼。| IRQL | 名稱 | 典型執行內容 |
|---|---|---|
| 0 | PASSIVE_LEVEL | DriverEntry、DispatchXxx、Unload、使用者執行緒 |
| 1 | APC_LEVEL | 特殊大量儲存裝置驅動 |
| 2 | DISPATCH_LEVEL | StartIo、DPC、Timer、鎖頁面鎖 |
| 3-31 | DIRQL | 硬體中斷處理 (ISR),數值對應中斷優先權 |
高 IRQL 可中斷低 IRQL;驅動開發必須遵守「在正確 IRQL 執行正確操作」原則 (如 DISPATCH_LEVEL 以上不可碰分頁記憶體)。
掌握上述架構與流程,即具備編寫穩定核心模式驅動的理論基礎。
Windows NT 4.0 建立無盤工作站完整實作手冊:DOS 6.22、Windows 3.2、Windows 95 三階段部署
Windows 2000/NT/XP 16 位元應用程式權限繞過漏洞分析與防護
Windows 檔案保護 (WFP) 完整解析:原理、升級方式、群組原則設定、sfc 指令參數
Windows NT 4.0 安裝參數完整解析:WINNT.EXE 參數與無人值守安裝
Windows NT 上 Visual C++ 5.0/4.0 安裝疑難排解完整指南
聯想 G480 裝 XP 後無法關機卡在「正在關機」?註冊表優化、禁用 NVIDIA 服務、電源設定三招解決
Win7 64位元完美安裝 AutoCAD 2006:啟用 Administrator、繞過 Setup.exe 直接執行 acad.msi 兩大關鍵