IoRegisterFileSystem 函数 (ntifs.h)

IoRegisterFileSystem 例程将文件系统的控制设备对象添加到全局文件系统队列。

语法

void IoRegisterFileSystem(
  [in] __drv_aliasesMem PDEVICE_OBJECT DeviceObject
);

参数

[in] DeviceObject

指向文件系统的控制设备对象的指针。

返回值

备注

IoRegisterFileSystem 通过将文件系统的控制设备对象插入全局文件系统队列,将文件系统注册为活动文件系统,并递增文件系统控制设备对象的引用计数。

文件系统控制设备对象的设备类型必须是以下类型之一:

FILE_DEVICE_NETWORK_FILE_SYSTEM

FILE_DEVICE_CD_ROM_FILE_SYSTEM

FILE_DEVICE_DISK_FILE_SYSTEM

如果设备类型不是这些值之一,则不会注册文件系统。

此外,必须命名文件系统控制设备对象。 如果未命名,则不会导致对 IoRegisterFileSystem 的 调用失败。 但是,文件系统筛选器驱动程序以及许多系统组件和支持例程使用此名称将文件系统的控制设备对象(始终命名)与其卷设备对象(永远不会命名)区分开来。

如果在文件系统的控制设备对象上设置了DO_LOW_PRIORITY_FILESYSTEM标志,则会将设备对象插入队列中最后一个位置。 (RAW 文件系统占据 queue 中的最后一个位置。) 如果未设置此标志,则会在队列的头插入设备对象。

IoRegisterFileSystem 通过调用 IoRegisterFsRegistrationChange 或 IoRegisterFsRegistrationChangeEx 来调用为此通知注册的文件系统筛选器驱动程序的通知例

注意 在 Microsoft Windows XP 及更高版本中,当文件系统筛选器驱动程序调用 IoRegisterFsRegistrationChange 时,还会立即为已调用 IoRegisterFileSystem 的任何文件系统调用其通知例程。
 

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

IoRegisterFsRegistrationChange

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange