驅動程式的基本結構

2021-05-10 16:07:13 字數 583 閱讀 6532

對於 driverobject:

它是驅動的核心部分,每乙個驅動程式,都會對應有乙個驅動物件,每乙個驅動物件都會派生出乙個或對個的裝置物件。。。

也可以說「裝置物件重屬於驅動物件」

物件又可以分成3類:

1:檔案物件

2:裝置物件

3:驅動物件

裝置物件(deviceobject)

它的flags 有幾個域在過濾程式中經常用到。。。

do_buffered_io(緩衝讀取)-------------do_direct_io(直接讀取)記憶體描述符表

do_device_initializing(裝置的初始化)--------do_power_paged----(電源是否可以出於分頁處)

irp,可以將它理解為請求,因為90%它代表的是系統或應用程式向驅動發來的請求。。。

它是驅動的乙個重要的概念,想到與應用層的訊息。。。是傳遞一種資訊的媒介吧。。。

裝置擴充套件(device_extention):

儲存一些資訊,解決全域性變數的重入問題。。。

重入問題:當多個執行緒的程式中,多個函式並行執行,函式的執行結果不會受到呼叫的先後而影響。。。

Windows驅動程式的基本結構

以下均為個人見解,如果有誤,敬請指正,謝謝 windows驅動程式的兩個重要的資料結構,驅動裝置物件driver object 裝置物件結構device object,這裡簡略了兩個結構體中的成員,具體的網上都是,自己去搜吧 1 typedef struct driver objectdriver ...

章四 驅動程式的基本結構(上)

以下內容全部來自 windows驅動開發技術詳解 作者張帆 史彩成等,屬摘抄型筆記。資料結構是電腦程式的核心,i o管理器定義了一些資料結構,這些資料結構是編寫驅動程式時所必須掌握的。1.驅動物件結構 每個驅動程式都會有唯一的驅動物件與之對應,驅動物件在驅動載入時,被核心中的i o管理器載入。驅動物...

3 1 NT式驅動程式基本結構

標頭檔案 include ntddk.h 函式宣告 void demounload in pdriver object driverobject ntstatus democreateclose in pdevice object deviceobject,in pirp irp ntstatus ...