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 文件系统占用队列中的最后一个位置。如果未设置此标志,则会在队列的头插入设备对象。
IoRegisterFileSystem 通过调用 IoRegisterFsRegistrationChange 或 IoRegisterFsRegistrationChangeEx来调用已为此通知注册的文件系统筛选器驱动程序的通知例程。
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 普遍 |
| 标头 | ntifs.h (include Ntifs.h) |
| 库 | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | < DISPATCH_LEVEL |
另请参阅
IoRegisterFsRegistrationChange