2016-09-23 136 views
0

我在這裏是新的,並且正在嘗試爲tar'文件系統'(mount tar)開發一個概念fs驅動程序。我的問題是,操作系統如何檢測到分區具有TAR文件系統並自動加載我的驅動程序?FS開發 - KMDF Windows驅動程序

回答

0

首先加載的FS稱爲IoRegisterFileSystem - 此例程將設備對象插入到系統中的文件系統列表中。那麼你必須有一個WRK。當說文件打開設備VPBIopCheckVpbMounted被稱爲,他打電話IopMountVolume - 這是掛載理解的關鍵點。這個程序首先通過已註冊的FS進行列表併發送IRP_MN_MOUNT_VOLUME,直到某些FS不返回成功代碼。也是列表中的最後一項 - 特殊文件系統識別器 - 他嘗試確定格式的卷。如果是 - 他將返回STATUS_FS_DRIVER_REQUIRED - 表示需要爲此卷加載新的FS。系統在這種情況下請致電IopLoadFileSystemDriver。當小文件系統識別器驅動程序將卷識別爲特定的文件系統,但該文件系統的驅動程序尚未加載時,會調用此例程。在當前時刻FS_Rec.sys支持下一代FS:

cdfs 
ReFS 
ReFSv1 // begin from win 10 
ExFat 
FastFat 
Udfs 
Ntfs 

其他支持 - 你需要或自動加載自FS驅動程序或自我識別(微型驅動器),它識別您的FS和IRP_MJ_FILE_SYSTEM_CONTROL.IRP_MN_MOUNT_VOLUME返回STATUS_FS_DRIVER_REQUIRED並加載您的FS (由ZwLoadDriver致電)IRP_MJ_FILE_SYSTEM_CONTROL.IRP_MN_LOAD_FILE_SYSTEM