如何装载卷

注意

为获得最佳可靠性和性能 ,请使用支持 筛选器管理器的文件系统微筛选器驱动程序,而不是旧版文件系统筛选器驱动程序。 若要将旧驱动程序移植到微筛选器驱动程序,请参阅移植旧版 筛选器驱动程序指南

识别 卷后,卷的装载方式取决于文件系统以及以前是否装载了卷。

当文件系统收到新卷的卷装载请求时,它会在卷的 VDO (创建) 对象。 VDO 由一个DEVICE_OBJECT以及一个可选的文件系统定义的设备扩展插件组成。 新创建的 VDO 构成了新卷的文件系统卷堆栈 (或重新) 卷。

文件系统通过将 VDO 与相应存储设备对象的卷参数块 (VPB) 相关联来装载卷,并设置 VPB 上的 VPB_MOUNTED 标志。

文件系统装载卷后,文件系统筛选器驱动程序可以附加到新文件系统卷堆栈的顶部。 发送到文件系统的任何 I/O 请求都会首先自动发送到卷堆栈顶部的文件系统筛选器设备对象。 但是,当 I/O 管理器发送快速 I/O 分离请求以通知卷堆栈上的驱动程序卷即将删除时,文件系统筛选器应仅与卷堆栈分离。

有关 示例,请参阅卷 装载示例。

注意

卷的存储设备对象驻留在存储设备堆栈中,但不一定是堆栈中最顶层的设备对象。 此外,即使在装载卷后,存储筛选器驱动程序仍可以附加到存储堆栈的顶部。 驱动程序编写器必须记住,当文件系统将 IRP 从 VDO 发送到存储设备堆栈时,它会将其发送到卷的存储设备对象,而不是堆栈中最顶层的设备对象。 (但是,当 I/O 管理器直接将 IRP 发送到存储堆栈(绕过文件系统)时,该 IRP 将发送到堆栈中最顶层的设备对象。)