IoRegisterFileSystem function

The IoRegisterFileSystem routine adds a file system's control device object to the global file system queue.

Syntax

NTKERNELAPI VOID IoRegisterFileSystem(
  __drv_aliasesMem PDEVICE_OBJECT DeviceObject
);

Parameters

DeviceObject

Pointer to the control device object for the file system.

Return Value

None

Remarks

IoRegisterFileSystem registers a file system as an active file system by inserting the file system's control device object into the global file system queue, and increments the reference count on the file system's control device object.

The file system control device object's device type must be one of the following:

FILE_DEVICE_NETWORK_FILE_SYSTEM

FILE_DEVICE_CD_ROM_FILE_SYSTEM

FILE_DEVICE_DISK_FILE_SYSTEM

If the device type is not one of these values, the file system is not registered.

In addition, the file system control device object must be named. If it is not named, this does not cause the call to IoRegisterFileSystem to fail. However, file system filter drivers, as well as many system components and support routines, use this name to distinguish the file system's control device objects, which are always named, from its volume device objects, which are never named.

If the DO_LOW_PRIORITY_FILESYSTEM flag is set on the file system's control device object, the device object is inserted into the next-to-last position in the queue. (The RAW file system occupies the last position in the queue.) If this flag is not set, the device object is inserted at the head of the queue.

IoRegisterFileSystem calls the notification routines of file system filter drivers that have registered for this notification by calling IoRegisterFsRegistrationChange or IoRegisterFsRegistrationChangeEx.

Note In Microsoft Windows XP and later, when a file system filter driver calls IoRegisterFsRegistrationChange, its notification routine is also called immediately for any file systems that have already called IoRegisterFileSystem.

Requirements

   
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL "< DISPATCH_LEVEL"

See Also

IoRegisterFsRegistrationChange

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange