This section describes the subset of system-supplied IoXxx support routines that can be used by kernel-mode file systems and file system filter drivers. These routines cannot be used by device drivers.
In addition to the routines documented here, file systems and file system filter drivers can also call any of the IoXxx routines that are described in the Kernel-Mode Driver Architecture Reference section that are declared in Ntifs.h.
In this section
Topic Description
IoAcquireVpbSpinLock
The IoAcquireVpbSpinLock routine acquires the Volume Parameter Block (VPB) spin lock.
IoAttachDeviceToDeviceStackSafe
The IoAttachDeviceToDeviceStackSafe routine attaches the caller's device object to the topmost device object in a driver stack.
IoCancelFileOpen
The IoCancelFileOpen routine can be used by a file system filter driver to close a file that has been opened by a file system driver in the filter driver's device stack.
IoCheckDesiredAccess
Reserved for system use.
IoCheckEaBufferValidity
The IoCheckEaBufferValidity routine checks whether the specified extended attribute (EA) buffer is valid.
IoCheckFunctionAccess
Reserved for system use.
IoCheckQuerySetFileInformation
Reserved for system use.
IoCheckQuerySetVolumeInformation
Reserved for system use.
IoCheckQuotaBufferValidity
The IoCheckQuotaBufferValidity routine checks whether the specified quota buffer is valid.
IoCreateFileEx
The IoCreateFileEx routine either causes a new file or directory to be created, or opens an existing file, device, directory, or volume and gives the caller a handle for the file object. File system filter drivers (legacy filter drivers) call this routine.
IoCreateFileSpecifyDeviceObjectHint
The IoCreateFileSpecifyDeviceObjectHint routine is used by file system filter drivers to send a create request only to the filters below a specified device object and to the file system.
IoCreateStreamFileObject
The IoCreateStreamFileObject routine creates a new stream file object.
IoCreateStreamFileObjectEx
The IoCreateStreamFileObjectEx routine creates a new stream file object.
IoCreateStreamFileObjectEx2
The IoCreateStreamFileObjectEx2 routine creates a new stream file object with create options for a target device object.
IoCreateStreamFileObjectLite
The IoCreateStreamFileObjectLite routine creates a new stream file object, but does not cause an IRP_MJ_CLEANUP request to be sent to the file system driver stack.
IoEnumerateDeviceObjectList
The IoEnumerateDeviceObjectList routine enumerates a driver's device object list.
IoEnumerateRegisteredFiltersList
The IoEnumerateRegisteredFiltersList routine enumerates the file system filter drivers that have registered with the system.
IoFastQueryNetworkAttributes
Reserved for system use.
IoGetAttachedDevice
The IoGetAttachedDevice routine returns a pointer to the highest-level device object associated with the specified device.
IoGetBaseFileSystemDeviceObject
Reserved for system use.
IoGetDeviceAttachmentBaseRef
The IoGetDeviceAttachmentBaseRef routine returns a pointer to the lowest-level device object in a file system or device driver stack.
IoGetDeviceToVerify
The IoGetDeviceToVerify routine returns a pointer to the device object, representing a removable-media device, that is the target of the given thread's I/O request.
IoGetDiskDeviceObject
The IoGetDiskDeviceObject routine retrieves a pointer to the disk device object associated with a given file system volume device object.
IoGetLowerDeviceObject
The IoGetLowerDeviceObject routine returns a pointer to the next-lower-level device object on the driver stack.
IoGetOplockKeyContext
The IoGetOplockKeyContext routine returns a target oplock key context for a file object.
IoGetOplockKeyContextEx
The IoGetOplockKeyContextEx routine returns a parent and target oplock key context for a file object.
IoGetRequestorProcess
The IoGetRequestorProcess routine returns a process pointer for the thread that originally requested a given I/O operation.
IoGetRequestorProcessId
The IoGetRequestorProcessId routine returns the unique 32-bit process ID for the thread that originally requested a given I/O operation.
IoGetRequestorSessionId
The IoGetRequestorSessionId routine returns the session ID for the process that originally requested a given I/O operation.
IoGetTopLevelIrp
The IoGetTopLevelIrp routine returns the value of the TopLevelIrp field of the current thread.
IoGetTransactionParameterBlock
The IoGetTransactionParameterBlock routine returns the transaction parameter block for a transacted file operation.
IoInitializeDriverCreateContext
The IoInitializeDriverCreateContext routine initializes a caller-allocated variable of type IO_DRIVER_CREATE_CONTEXT.
IoInitializePriorityInfo
The IoInitializePriorityInfo routine initializes a structure of type IO_PRIORITY_INFO.
IoIsFileObjectIgnoringSharing
The IoIsFileObjectIgnoringSharing routine determines if a file object is set with the option to ignore file sharing access checks.
IoIsFileOpenedExclusively
Reserved for system use.
IoIsFileOriginRemote
The IoIsFileOriginRemote routine determines whether a given file object is for a remote create request.
IoIsOperationSynchronous
The IoIsOperationSynchronous routine determines whether a given IRP represents a synchronous or asynchronous I/O request.
IoIsSystemThread
The IoIsSystemThread routine checks whether a given thread is a system thread.
IoIsValidNameGraftingBuffer
Reserved for system use.
IoPageRead
Reserved for system use.
IoQueueThreadIrp
Reserved for system use.
IoQueryFileDosDeviceName
The IoQueryFileDosDeviceName routine retrieves an MS-DOS device name for a file.
IoQueryFileInformation
Reserved for system use.
IoQueryVolumeInformation
Reserved for system use.
IoRegisterFileSystem
The IoRegisterFileSystem routine adds a file system's control device object to the global file system queue.
IoRegisterFsRegistrationChange
The IoRegisterFsRegistrationChange routine registers a file system filter driver's notification routine to be called whenever a file system registers or unregisters itself as an active file system.
IoRegisterFsRegistrationChangeEx
The IoRegisterFsRegistrationChangeEx routine registers a file system filter driver's notification routine to be called whenever a file system registers or unregisters itself as an active file system.
IoRegisterFsRegistrationChangeMountAware
The IoRegisterFsRegistrationChangeMountAware routine registers a file system filter driver's notification routine. This notification routine is called whenever a file system registers or unregisters itself as an active file system.
IoReleaseVpbSpinLock
The IoReleaseVpbSpinLock routine releases the Volume Parameter Block (VPB) spin lock.
IoReplaceFileObjectName
The IoReplaceFileObjectName routine replaces the name of a file object.
IoSetDeviceToVerify
The IoSetDeviceToVerify routine specifies a device object to be verified. The specified device object represents a removable media device.
IoSetFileObjectIgnoreSharing
The IoSetFileObjectIgnoreSharing routine sets a file object to ignore file sharing access checks.
IoSetFileOrigin
The IoSetFileOrigin routine specifies whether a given file object is for a remote create request.
IoSetInformation
Reserved for system use.
IoSetTopLevelIrp
The IoSetTopLevelIrp routine sets the value of the TopLevelIrp field of the current thread.
IoSynchronousPageWrite
Reserved for system use.
IoThreadToProcess
The IoThreadToProcess routine returns a pointer to the process for the specified thread.
IoUnregisterFileSystem
The IoUnregisterFileSystem routine removes a file system's control device object from the global file system queue.
IoUnregisterFsRegistrationChange
The IoUnregisterFsRegistrationChange routine unregisters file system filter driver's file system registration change notification routine.
IoVerifyVolume
The IoVerifyVolume routine sends a volume verify request to the given removable-media device.
IsReparseTagMicrosoft
The IsReparseTagMicrosoft macro determines whether a reparse point tag indicates a Microsoft reparse point.
IsReparseTagNameSurrogate
The IsReparseTagNameSurrogate macro determines whether a tag's associated reparse point is a surrogate for another named entity, such as a volume mount point.
IsReparseTagValid
Reserved for system use.