Export (0) Print
Expand All
Expand Minimize

I/O Manager Routines

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

TopicDescription

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.

 

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft