儲存驅動和裝置物件

2021-06-16 04:17:35 字數 888 閱讀 2240

儲存裝置棧由處理系統上儲存裝置

i/o的驅動建立的樹狀裝置物件組成。樹的根節點是儲存介面卡或整合於其它儲存棧的驅動棧的功能性裝置物件(

fdo)。樹的子節點是檔案系統和使用者模式應用程式使用的裝置物件。

如任一pnp驅動相同,通過

iocreatedevice

建立裝置物件,

ioattachdevicetodevicestack

將其連線到裝置棧,使用初始化期間

pnp管理器傳遞給驅動程式的

adddevice

例程的指向裝置物件的指標,儲存型別驅動或儲存過濾性驅動在自身的

adddevice

例程中其加入樹。

磁帶微型別,**更換器微型別或

scsi

微型別不要求建立乙個裝置物件並附加到裝置棧中。相反地,通過微型別

/微埠驅動程式例程收集建立裝置物件的資料,系統提供的磁帶微型別,**更換器微型別或

scsi

微型別驅動程式,代表微型別

/為埠,處理這些任務。

儲存埠驅動程式建立

file_device_mass_storage

型別的物理裝置物件(

pdos

)。磁碟類,

cd-rom

類,磁帶類和**更換器類驅動程式相應地建立

file_device_disk

,file_device_cd_rom

,file_device_tape

和file_device_changer

型別的fdos。

更多關於

pnp驅動程式設計資訊,參考

pnp驅動程式設計要領。關於

pnp相關的

io***

例程,參考即插即用例程。

驅動物件和裝置物件

驅動物件,本質就是核心中一塊描述驅動資訊的記憶體 kd dt driver object 8988fe20 0x000 type 4 nt式驅動的型別為4 0x002 size 168 該結構體的大小 0x004 deviceobject null 自己建立的裝置物件 該驅動中所有的裝置物件會組成乙...

基礎驅動和裝置物件關係

沒事寫點基礎的東西,有寫的不當的地方,希望能指出。寫過驅動或者正在學習驅動程式設計的人可能都碰到了驅動物件和裝置物件。driverobject和deviceobject的關係。這裡就做個說明吧。首先來看看這兩個結構體定義,從中我們可以發現一些有意思的東西。我們發現在driver object中有乙個...

驅動雜記1 對驅動物件,裝置物件,裝置棧的理解

windows核心採用的是物件導向的程式設計方式,但使用的確是c語言。windows核心認為許多東西都是 物件 比如乙個驅動乙個檔案乙個裝置,物件 相當於乙個基類。乙個驅動物件代表了乙個驅動程式,或者說乙個核心模組。驅動物件結構如下 typedef struct driver objectdrive...