2016-09-23 91 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

相关问题