This section contains references, in alphabetical order, for the system-supplied FltXxx support routines that can be used by kernel-mode file system minifilter drivers but not by device drivers.
In this section
Topic Description
FLT_IS_FASTIO_OPERATION
The FLT_IS_FASTIO_OPERATION macro determines whether the given callback data structure represents a fast I/O operation.
FLT_IS_FS_FILTER_OPERATION
The FLT_IS_FS_FILTER_OPERATION macro determines whether the given callback data structure represents a file system filter (FSFilter) callback operation.
FLT_IS_IRP_OPERATION
The FLT_IS_IRP_OPERATION macro determines whether the given callback data structure represents an I/O request packet (IRP)-based I/O operation.
FLT_IS_REISSUED_IO
The FLT_IS_REISSUED_IO macro determines whether the given callback data structure represents a reissued I/O operation.
FLT_IS_SYSTEM_BUFFER
The FLT_IS_SYSTEM_BUFFER macro tests the system buffer flag in a callback data structure.
FltAcknowledgeEcp
The FltAcknowledgeEcp routine is used to mark an extra create parameter context structure (ECP) as acknowledged.
FltAcquirePushLockExclusive
The FltAcquirePushLockExclusive routine acquires the given push lock for exclusive access by the calling thread.
FltAcquirePushLockShared
The FltAcquirePushLockShared routine acquires the given push lock for shared access by the calling thread.
FltAcquireResourceExclusive
The FltAcquireResourceExclusive routine acquires the given resource for exclusive access by the calling thread.
FltAcquireResourceShared
The FltAcquireResourceShared routine acquires the given resource for shared access by the calling thread.
FltAdjustDeviceStackSizeForIoRedirection
The FltAdjustDeviceStackSizeForIoRedirection routine increases the size of the source device stack to allow a minifilter to redirect I/O from a specified source instance to a specified target instance when the target stack is deeper than the source stack.
FltAllocateCallbackData
FltAllocateCallbackData allocates a callback data structure that a minifilter driver can use to initiate an I/O request.
FltAllocateCallbackDataEx
The FltAllocateCallbackDataEx routine allocates a callback data structure and can preallocate memory for additional structures that a minifilter driver can use to initiate an I/O request.
FltAllocateContext
The FltAllocateContext routine allocates a context structure for a specified context type.
FltAllocateDeferredIoWorkItem
FltAllocateDeferredIoWorkItem allocates a deferred-I/O work item.
FltAllocateExtraCreateParameter
The FltAllocateExtraCreateParameter routine allocates paged memory pool for a user-defined extra create parameter (ECP) context structure and generates a pointer to that structure.
FltAllocateExtraCreateParameterFromLookasideList
The FltAllocateExtraCreateParameterFromLookasideList routine allocates memory pool from a given lookaside list for an extra create parameter (ECP) context structure and generates a pointer to that structure.
FltAllocateExtraCreateParameterList
The FltAllocateExtraCreateParameterList routine allocates paged pool memory for an extra create parameter (ECP) list structure and generates a pointer to that structure.
FltAllocateFileLock
The FltAllocateFileLock routine allocates and initializes a new FILE_LOCK structure.
FltAllocateGenericWorkItem
FltAllocateGenericWorkItem allocates a generic work item.
FltAllocatePoolAlignedWithTag
FltAllocatePoolAlignedWithTag allocates a device-aligned buffer for use in a noncached I/O operation.
FltApplyPriorityInfoThread
The FltApplyPriorityInfoThread routine is used by a minifilter driver to apply priority information to a thread.
FltAttachVolume
FltAttachVolume creates a new minifilter driver instance and attaches it to the given volume.
FltAttachVolumeAtAltitude
FltAttachVolumeAtAltitude is a debugging support routine that attaches a minifilter driver instance to a volume at a specified altitude, overriding any settings in the minifilter driver's INF file.
FltBuildDefaultSecurityDescriptor
FltBuildDefaultSecurityDescriptor builds a default security descriptor for use with FltCreateCommunicationPort.
FltCancelFileOpen
A minifilter driver can use the FltCancelFileOpen routine to close a newly opened or created file.
FltCancelIo
The FltCancelIo routine cancels an I/O operation.
FltCancellableWaitForMultipleObjects
The FltCancellableWaitForMultipleObjects executes a cancelable wait operation (a wait that can be terminated) on one or more dispatcher objects.
FltCancellableWaitForSingleObject
The FltCancellableWaitForSingleObject routine executes a cancelable wait operation (a wait that can be terminated) on a dispatcher object.
FltCbdqDisable
FltCbdqDisable disables a minifilter driver's callback data queue.
FltCbdqEnable
FltCbdqEnable enables a callback data queue that was disabled by a previous call to FltCbdqDisable.
FltCbdqInitialize
FltCbdqInitialize initializes a minifilter driver's callback data queue dispatch table.
FltCbdqInsertIo
FltCbdqInsertIo inserts the callback data structure for an I/O operation into a minifilter driver's callback data queue.
FltCbdqRemoveIo
FltCbdqRemoveIo removes a particular item from a minifilter driver's callback data queue.
FltCbdqRemoveNextIo
FltCbdqRemoveNextIo removes the next matching item in a minifilter driver's callback data queue.
FltCheckAndGrowNameControl
The FltCheckAndGrowNameControl routine checks whether the buffer in a FLT_NAME_CONTROL structure is large enough to hold the specified number of bytes. If not, FltCheckAndGrowNameControl replaces it with a larger system-allocated buffer.
FltCheckLockForReadAccess
The FltCheckLockForReadAccess routine determines whether the caller has read access to a locked byte range of a file.
FltCheckLockForWriteAccess
The FltCheckLockForWriteAccess routine determines whether the caller has write access to a locked byte range of a file.
FltCheckOplock
A minifilter driver calls FltCheckOplock to synchronize the callback data structure for an IRP-based file I/O operation with the file's current opportunistic lock (oplock) state.
FltCheckOplockEx
A minifilter driver calls the FltCheckOplockEx routine to synchronize the callback data structure for an IRP-based file I/O operation that has the current opportunistic lock (oplock) state of the file.
FltClearCallbackDataDirty
The FltClearCallbackDataDirty routine clears the callback dirty flag in a callback data structure.
FltClearCancelCompletion
FltClearCancelCompletion clears a cancel routine that was specified for an I/O operation.
FltClose
FltClose closes a file handle that was opened by FltCreateFile or FltCreateFileEx.
FltCloseClientPort
FltCloseClientPort closes a communication client port.
FltCloseCommunicationPort
FltCloseCommunicationPort closes a minifilter driver's communication server port.
FltCloseSectionForDataScan
The FltCloseSectionForDataScan routine closes a section object associated with a file stream.
FltCommitComplete
The FltCommitComplete routine acknowledges a TRANSACTION_NOTIFY_COMMIT notification.
FltCommitFinalizeComplete
The FltCommitFinalizeComplete routine acknowledges a TRANSACTION_NOTIFY_COMMIT_FINALIZE notification.
FltCompareInstanceAltitudes
FltCompareInstanceAltitudes compares the altitudes of two minifilter driver instances.
FltCompletePendedPostOperation
FltCompletePendedPostOperation resumes completion processing for an I/O operation that was pended in a minifilter driver's postoperation callback routine.
FltCompletePendedPreOperation
FltCompletePendedPreOperation resumes processing for an I/O operation that was pended in a minifilter driver's preoperation callback (PFLT_PRE_OPERATION_CALLBACK) routine.
FltCreateCommunicationPort
FltCreateCommunicationPort creates a communication server port on which a minifilter driver can receive connection requests from user-mode applications.
FltCreateFile
Minifilter drivers call FltCreateFile to create a new file or open an existing file.
FltCreateFileEx
Minifilter drivers call FltCreateFileEx to create a new file or open an existing file.
FltCreateFileEx2
Minifilter drivers call FltCreateFileEx2 to create a new file or open an existing file. This routine also includes an optional create context parameter.
FltCreateMailslotFile
Minifilter drivers call FltCreateMailslotFile to create a new pipe or open an existing mailslot.
FltCreateNamedPipeFile
Minifilter drivers call FltCreateNamedPipeFile to create a new pipe or open an existing pipe.
FltCreateSectionForDataScan
The FltCreateSectionForDataScan routine creates a section object for a file. The filter manager can optionally synchronize I/O with the section created.
FltCreateSystemVolumeInformationFolder
FltCreateSystemVolumeInformationFolder verifies the existence of the "System Volume Information" folder on a file system volume. If the folder is not present, then the folder is created.
FltCurrentBatchOplock
A minifilter driver calls FltCurrentBatchOplock to determine whether there are any batch or filter opportunistic locks (oplocks) on a file.
FltCurrentOplock
A minifilter driver calls the FltCurrentOplock routine to determine whether there are any opportunistic locks (oplocks) on a file.
FltCurrentOplockH
A minifilter driver calls the FltCurrentOplockH routine to determine whether there are any CACHE_HANDLE_LEVEL opportunistic locks (oplocks) on a file.
FltDecodeParameters
FltDecodeParameters returns pointers to the memory descriptor list (MDL) address, buffer pointer, buffer length, and desired access parameters for an I/O operation. This saves minifilter drivers from having a switch statement to find the position of these parameters in helper routines that access the MDL address, buffer pointer, buffer length, and desired access for multiple operation types.
FltDeleteContext
FltDeleteContext marks a specified context for deletion.
FltDeleteExtraCreateParameterLookasideList
The FltDeleteExtraCreateParameterLookasideList routine frees an extra create parameter (ECP) lookaside list.
FltDeleteFileContext
The FltDeleteFileContext routine retrieves and deletes a file context that a given minifilter driver has set for a given file.
FltDeleteInstanceContext
FltDeleteInstanceContext removes a context from a given instance and marks the context for deletion.
FltDeletePushLock
The FltDeletePushLock routine deletes a given push lock.
FltDeleteStreamContext
FltDeleteStreamContext removes a context that a given minifilter driver instance has set for a given stream and marks the context for deletion.
FltDeleteStreamHandleContext
FltDeleteStreamHandleContext removes a context that a given minifilter driver instance has set for a given stream handle and marks the context for deletion.
FltDeleteTransactionContext
The FltDeleteTransactionContext routine removes a context from a given transaction and marks the context for deletion.
FltDeleteVolumeContext
FltDeleteVolumeContext removes a context that a given minifilter driver has set for a given volume and marks the context for deletion.
FltDetachVolume
FltDetachVolume detaches a minifilter driver instance from a volume.
FltDeviceIoControlFile
FltDeviceIoControlFile sends a control code directly to a specified device driver, causing the corresponding driver to perform the specified action.
FltDoCompletionProcessingWhenSafe
If it is safe to do so, the FltDoCompletionProcessingWhenSafe function executes a minifilter driver postoperation callback routine.
FltEnlistInTransaction
The FltEnlistInTransaction routine enlists a minifilter driver in a given transaction.
FltEnumerateFilterInformation
The FltEnumerateFilterInformation routine provides information about all the registered filter drivers (including minifilter and legacy filter drivers) in the system.
FltEnumerateFilters
The FltEnumerateFilters routine enumerates all registered minifilter drivers in the system.
FltEnumerateInstanceInformationByDeviceObject
The FltEnumerateInstanceInformationByDeviceObject routine provides information about minifilter driver instances and legacy filter drivers that are attached to the volume related to a specified device object.
FltEnumerateInstanceInformationByFilter
The FltEnumerateInstanceInformationByFilter routine provides information about instances of a given minifilter driver.
FltEnumerateInstanceInformationByVolume
The FltEnumerateInstanceInformationByVolume routine provides information about minifilter driver instances and legacy filter drivers (Windows Vista only) that are attached to a given volume.
FltEnumerateInstanceInformationByVolumeName
The FltEnumerateInstanceInformationByVolumeName routine provides information about minifilter driver instances and legacy filter drivers that are attached to the volume with the specified name.
FltEnumerateInstances
The FltEnumerateInstances routine enumerates minifilter driver instances for a given minifilter driver or volume.
FltEnumerateVolumeInformation
The FltEnumerateVolumeInformation routine provides information about volumes that are known to the filter manager.
FltEnumerateVolumes
The FltEnumerateVolumes routine enumerates all volumes in the system.
FltFastIoMdlRead
The FltFastIoMdlRead routine returns a memory descriptor list (MDL) that points directly to the specified byte range in the file cache.
FltFastIoMdlReadComplete
The FltFastIoMdlReadComplete routine completes the read operation that the FltFastIoMdlRead routine initiated.
FltFastIoMdlWriteComplete
The FltFastIoMdlWriteComplete routine frees the resources that FltFastIoPrepareMdlWrite allocated.
FltFastIoPrepareMdlWrite
The FltFastIoPrepareMdlWrite routine returns a linked list of memory descriptor lists (MDLs) that point to the specified range of cached file data to write data directly to the cache.
FltFlushBuffers
The FltFlushBuffers routine is used by the minifilter driver to send a flush request for a given file to the file system.
FltFindExtraCreateParameter
The FltFindExtraCreateParameter routine searches a given ECP list for an ECP context structure of a given type and returns a pointer to this structure if it is found.
FltFreeCallbackData
The FltFreeCallbackData routine frees a callback data structure allocated by the FltAllocateCallbackData routine.
FltFreeDeferredIoWorkItem
The FltFreeDeferredIoWorkItem routine frees a work item allocated by the FltAllocateDeferredIoWorkItem routine.
FltFreeExtraCreateParameter
The FltFreeExtraCreateParameter routine frees the memory for an ECP context structure.
FltFreeExtraCreateParameterList
The FltFreeExtraCreateParameterList routine frees an extra create parameter (ECP) list structure.
FltFreeFileLock
The FltFreeFileLock routine uninitializes and frees an initialized FILE_LOCK structure.
FltFreeGenericWorkItem
The FltFreeGenericWorkItem routine frees a work item allocated by the FltAllocateGenericWorkItem routine.
FltFreePoolAlignedWithTag
The FltFreePoolAlignedWithTag routine frees a cache-aligned buffer that was allocated by a previous call to FltAllocatePoolAlignedWithTag.
FltFreeSecurityDescriptor
FltFreeSecurityDescriptor frees a security descriptor allocated by the FltBuildDefaultSecurityDescriptor routine.
FltFsControlFile
The FltFsControlFile routine sends a control code directly to a specified file system or file system filter driver, causing the corresponding driver to perform the specified action.
FltGetActivityIdCallbackData
The FltGetActivityIdCallbackData routine retrieves the current activity ID associated with a request in a minifilter's callback data.
FltGetBottomInstance
FltGetBottomInstance returns an opaque instance pointer for the minifilter driver instance, if there is one, that is attached at the bottom of the instance stack for a given volume.
FltGetContexts
The FltGetContexts routine retrieves a minifilter driver's contexts for the objects related to the current operation.
FltGetContextsEx
The FltGetContextsEx routine retrieves a minifilter driver's contexts for the objects related to the current operation.
FltGetDestinationFileNameInformation
The FltGetDestinationFileNameInformation routine constructs a full destination path name for a file or directory that is being renamed or for which an NTFS hard link is being created.
FltGetDeviceObject
The FltGetDeviceObject routine returns a pointer to the Filter Manager's volume device object (VDO) for a given volume.
FltGetDiskDeviceObject
The FltGetDiskDeviceObject routine returns a pointer to the disk device object associated with a given volume.
FltGetEcpListFromCallbackData
The FltGetEcpListFromCallbackData routine returns a pointer to an extra create parameter context structure (ECP) list that is associated with a given create operation callback-data object.
FltGetFileContext
The FltGetFileContext routine retrieves a context that was set for a file by a given minifilter driver instance.
FltGetFileNameFormat
The FltGetFileNameFormat macro returns the name format portion of an FLT_FILE_NAME_OPTIONS value.
FltGetFileNameInformation
The FltGetFileNameInformation routine returns name information for a file or directory.
FltGetFileNameInformationUnsafe
The FltGetFileNameInformationUnsafe routine returns name information for an open file or directory.
FltGetFileNameQueryMethod
The FltGetFileNameQueryMethod macro returns the name query method portion of an FLT_FILE_NAME_OPTIONS value.
FltGetFileSystemType
The FltGetFileSystemType function takes a volume or instance object and provides the file system type of the volume.
FltGetFilterFromInstance
The FltGetFilterFromInstance routine returns an opaque filter pointer for the minifilter driver that created the given instance.
FltGetFilterFromName
The FltGetFilterFromName routine returns an opaque filter pointer for a registered minifilter driver whose name matches the value in the FilterName parameter.
FltGetFilterInformation
The FltGetFilterInformation routine provides information about a minifilter driver.
FltGetInstanceContext
The FltGetInstanceContext routine retrieves a context that was set for an instance by a given minifilter driver.
FltGetInstanceInformation
The FltGetInstanceInformation routine returns information about a minifilter driver instance.
FltGetIoPriorityHint
The FltGetIoPriorityHint routine is used by a minifilter driver to get IO priority information from Callback Data.
FltGetIoPriorityHintFromCallbackData
The FltGetIoPriorityHintFromCallbackData routine is used by a minifilter driver to get IO priority information from callback data.
FltGetIoPriorityHintFromFileObject
The FltGetIoPriorityHintFromFileObject routine is used by a minifilter driver to get IO priority information from a file object.
FltGetIoPriorityHintFromThread
The FltGetIoPriorityHintFromThread routine is used by a minifilter driver to get IO priority information from a thread.
FltGetIrpName
The FltGetIrpName routine returns the name for a major function code as a printable string.
FltGetLowerInstance
The FltGetLowerInstance routine returns an opaque instance pointer for the next lower minifilter driver instance, if there is one, that is attached below a given minifilter driver instance on the same volume.
FltGetNewSystemBufferAddress
The FltGetNewSystemBufferAddress function retrieves the AssociatedIrp.SystemBuffer buffer, which the file system has allocated. A minifilter driver's post-callback routine calls this function.
FltGetNextExtraCreateParameter
The FltGetNextExtraCreateParameter routine returns a pointer to the next (or first) extra create parameter context structure (ECP) in a given ECP list.
FltGetRequestorProcess
The FltGetRequestorProcess routine returns a process pointer for the thread that requested a given I/O operation.
FltGetRequestorProcessId
The FltGetRequestorProcessId routine returns the unique 32-bit process ID for the process associated with the thread that requested a given I/O operation.
FltGetRequestorProcessIdEx
The FltGetRequestorProcessIdEx routine returns the kernel-mode handle for the process that is associated with the thread that requested a given I/O operation.
FltGetRequestorSessionId
The FltGetRequestorSessionId routine returns the session ID of the process that originally requested the specified I/O operation.
FltGetRoutineAddress
The FltGetRoutineAddress routine returns a pointer to a routine specified by the FltMgrRoutineName parameter.
FltGetSectionContext
The FltGetSectionContext routine retrieves a section context that was created for a file stream by a specified minifilter driver instance.
FltGetStreamContext
The FltGetStreamContext routine retrieves a context that was set for a file stream by a given minifilter driver instance.
FltGetStreamHandleContext
The FltGetStreamHandleContext routine retrieves a context that was set for a stream handle by a given minifilter driver instance.
FltGetSwappedBufferMdlAddress
The FltGetSwappedBufferMdlAddress routine returns the memory descriptor list (MDL) address for a buffer that was swapped in by a minifilter driver.
FltGetTopInstance
The FltGetTopInstance routine returns an opaque instance pointer for the minifilter driver instance that is attached at the top of the instance stack for a given volume.
FltGetTransactionContext
The FltGetTransactionContext routine retrieves a context that was set for a transaction by a given minifilter driver.
FltGetTunneledName
The FltGetTunneledName routine retrieves the tunneled name for a file, given the normalized name returned for the file by a previous call to FltGetFileNameInformation, FltGetFileNameInformationUnsafe, or FltGetDestinationFileNameInformation.
FltGetUpperInstance
The FltGetUpperInstance routine returns an opaque instance pointer for the next higher minifilter driver instance, if there is one, that is attached above a given minifilter driver instance on the same volume.
FltGetVolumeContext
The FltGetVolumeContext routine retrieves a context that was set for a volume by a given minifilter driver.
FltGetVolumeFromDeviceObject
The FltGetVolumeFromDeviceObject routine returns an opaque pointer for the volume represented by a volume device object (VDO).
FltGetVolumeFromFileObject
The FltGetVolumeFromFileObject routine returns an opaque pointer for the volume that a given file stream resides on.
FltGetVolumeFromInstance
The FltGetVolumeFromInstance routine returns an opaque pointer for the volume that a given minifilter driver instance is attached to.
FltGetVolumeFromName
The FltGetVolumeFromName routine returns an opaque pointer for the volume whose name matches the value of the VolumeName parameter.
FltGetVolumeGuidName
The FltGetVolumeGuidName routine returns the volume name for a given volume, in volume globally unique identifier (GUID) format.
FltGetVolumeInformation
The FltGetVolumeInformation routine provides information about a given volume.
FltGetVolumeInstanceFromName
The FltGetVolumeInstanceFromName routine returns an opaque instance pointer for the given minifilter driver instance on the given volume.
FltGetVolumeName
The FltGetVolumeName routine gets the volume name for a given volume.
FltGetVolumeProperties
The FltGetVolumeProperties routine returns volume property information for the given volume.
FltInitExtraCreateParameterLookasideList
The FltInitExtraCreateParameterLookasideList routine initializes a paged or non-paged pool lookaside list used for the allocation of one or more extra create parameter context structures (ECPs) of fixed size.
FltInitializeFileLock
The FltInitializeFileLock routine initializes an opaque FILE_LOCK structure that the caller has allocated from paged pool.
FltInitializeOplock
The FltInitializeOplock routine initializes an opportunistic lock (oplock) pointer.
FltInitializePushLock
The FltInitializePushLock routine initializes a push lock variable.
FltInsertExtraCreateParameter
The FltInsertExtraCreateParameter routine inserts an extra create parameter (ECP) context structure into an ECP list.
FltIs32bitProcess
The FltIs32bitProcess routine checks whether the originator of the current I/O operation is a 32-bit user-mode application.
FltIsCallbackDataDirty
The FltIsCallbackDataDirty routine tests the FLTFL_CALLBACK_DATA_DIRTY flag in a callback data structure.
FltIsDirectory
A minifilter driver calls the FltIsDirectory routine to determine whether a given file object represents a directory.
FltIsEcpAcknowledged
The FltIsEcpAcknowledged routine is used to determine if a given extra create parameter context structure (ECP) has been marked as acknowledged.
FltIsEcpFromUserMode
The FltIsEcpFromUserMode routine is used to determine if an extra create parameter context structure (ECP) originated from user mode.
FltIsFltMgrVolumeDeviceObject
The FltIsFltMgrVolumeDeviceObject routine determines whether the given device object belongs to filter manager and if the device object is a volume device object.
FltIsIoCanceled
The FltIsIoCanceled routine checks if an IRP-based operation has been canceled.
FltIsIoRedirectionAllowed
The FltIsIoRedirectionAllowed routine determines whether I/O can be redirected from the specified source filter instance to another specified filter instance.
FltIsIoRedirectionAllowedForOperation
The FltIsIoRedirectionAllowedForOperation routine determines whether I/O can be redirected from the filter instance associated with the specified FLT_CALLBACK_DATA structure to the specified filter instance.
FltIsOperationSynchronous
The FltIsOperationSynchronous routine determines whether a given callback data structure (FLT_CALLBACK_DATA) represents a synchronous or asynchronous I/O operation.
FltIsVolumeSnapshot
The FltIsVolumeSnapshot routine determines whether a volume or minifilter driver instance is attached to a snapshot volume.
FltIsVolumeWritable
The FltIsVolumeWritable routine determines whether the disk device that corresponds to a volume or minifilter driver instance is writable.
FltLoadFilter
The FltLoadFilter routine dynamically loads a minifilter driver into the currently running system.
FltLockUserBuffer
The FltLockUserBuffer routine locks the user buffer for a given I/O operation.
FltNotifyFilterChangeDirectory
The FltNotifyFilterChangeDirectory routine creates a notify structure for an IRP_MN_NOTIFY_CHANGE_DIRECTORY operation and adds it to the specified notify list.
FltObjectDereference
The FltObjectDereference routine removes a rundown reference from an opaque filter, instance, or volume pointer.
FltObjectReference
The FltObjectReference routine adds a rundown reference to an opaque filter, instance, or volume pointer.
FltOpenVolume
The FltOpenVolume routine returns a handle and a file object pointer for the file system volume that a given minifilter driver instance is attached to.
FltOplockBreakH
The FltOplockBreakH routine breaks CACHE_HANDLE_LEVEL opportunistic locks (oplocks).
FltOplockBreakToNone
The FltOplockBreakToNone routine breaks all opportunistic locks (oplocks) immediately without regard for any oplock key.
FltOplockBreakToNoneEx
The FltOplockBreakToNoneEx routine breaks all opportunistic locks (oplocks) immediately without regard for any oplock key.
FltOplockFsctrl
The FltOplockFsctrl routine performs various opportunistic lock (oplock) operations on behalf of a minifilter driver.
FltOplockFsctrlEx
The FltOplockFsctrlEx routine performs various opportunistic lock (oplock) operations on behalf of a minifilter driver.
FltOplockIsFastIoPossible
The FltOplockIsFastIoPossible routine checks a file's opportunistic lock (oplock) state to determine whether fast I/O can be performed on the file.
FltOplockIsSharedRequest
The FltOplockIsSharedRequest routine determines if a request for an opportunistic lock (oplock) wants a shared oplock.
FltOplockKeysEqual
The FltOplockKeysEqual routine compares the opportunistic lock (oplock) keys that are stored in the file object extensions of two file objects.
FltParseFileName
FltParseFileName parses the extension, stream, and final component from a file name string.
FltParseFileNameInformation
FltParseFileNameInformation parses the contents of a FLT_FILE_NAME_INFORMATION structure.
FltPerformAsynchronousIo
A minifilter driver calls FltPerformAsynchronousIo to initiate an asynchronous I/O operation.
FltPerformSynchronousIo
A minifilter driver calls FltPerformSynchronousIo to initiate a synchronous I/O operation after calling FltAllocateCallbackData to allocate a callback data structure for the operation.
FltPrepareComplete
The FltPrepareComplete routine acknowledges a TRANSACTION_NOTIFY_PREPARE notification.
FltPrepareToReuseEcp
The FltPrepareToReuseEcp routine resets an extra create parameter (ECP) context structure, which prepares it for reuse.
FltPrePrepareComplete
The FltPrePrepareComplete routine acknowledges a TRANSACTION_NOTIFY_PREPREPARE notification.
FltProcessFileLock
The FltProcessFileLock routine processes and completes a file lock operation.
FltPropagateActivityIdToThread
The FltPropagateActivityIdToThread routine associates the activity ID from the IRP in the minifilter's callback data with the current thread.
FltPurgeFileNameInformationCache
FltPurgeFileNameInformationCache purges from the Filter Manager's name cache all file name information structures that were generated from names provided by the given minifilter driver instance.
FltQueryDirectoryFile
The FltQueryDirectoryFile routine returns various kinds of information about files in the directory specified by a given file object.
FltQueryEaFile
FltQueryEaFile returns information about extended-attribute (EA) values for a file.
FltQueryInformationFile
FltQueryInformationFile retrieves information for a given file.
FltQueryQuotaInformationFile
The FltQueryQuotaInformationFile routine retrieves quota entries associated with a file object.
FltQuerySecurityObject
FltQuerySecurityObject retrieves a copy of an object's security descriptor.
FltQueryVolumeInformation
The FltQueryVolumeInformation routine retrieves information about the volume that the given instance is attached to.
FltQueryVolumeInformationFile
FltQueryVolumeInformationFile retrieves volume information for a given file, directory, storage device, or volume.
FltQueueDeferredIoWorkItem
The FltQueueDeferredIoWorkItem routine posts an IRP-based I/O operation to a work queue.
FltQueueGenericWorkItem
FltQueueGenericWorkItem posts a work item that is not associated with a specific I/O operation to a work queue.
FltReadFile
FltReadFile reads data from an open file, stream, or device.
FltReadFileEx
FltReadFileEx reads data from an open file, stream, or device. This function extends FltReadFile to allow the optional use of an MDL for read data instead of a mapped buffer address.
FltReferenceContext
FltReferenceContext increments the reference count on a context structure.
FltReferenceFileNameInformation
FltReferenceFileNameInformation increments the reference count on a file name information structure.
FltRegisterFilter
FltRegisterFilter registers a minifilter driver.
FltRegisterForDataScan
The FltRegisterForDataScan routine enables data scanning for the volume attached to the minifilter instance.
FltReissueSynchronousIo
FltReissueSynchronousIo initiates a new synchronous I/O operation that uses the parameters from a previously synchronized I/O operation.
FltReleaseContext
FltReleaseContext decrements the reference count on a context.
FltReleaseContexts
FltReleaseContexts releases each context in a given FLT_RELATED_CONTEXTS structure.
FltReleaseContextsEx
FltReleaseContextsEx releases each context in a given FLT_RELATED_CONTEXTS_EX structure.
FltReleaseFileNameInformation
FltReleaseFileNameInformation releases a file name information structure.
FltReleasePushLock
The FltReleasePushLock routine releases a specified push lock owned by the current thread.
FltReleaseResource
The FltReleaseResource routine releases a specified resource owned by the current thread.
FltRemoveExtraCreateParameter
The FltRemoveExtraCreateParameter routine searches an ECP list for an ECP context structure and, if found, detaches it from the ECP list.
FltRequestOperationStatusCallback
FltRequestOperationStatusCallback returns status information for the given I/O operation.
FltRetainSwappedBufferMdlAddress
FltRetainSwappedBufferMdlAddress prevents the Filter Manager from freeing the memory descriptor list (MDL) for a buffer that was swapped in by a minifilter driver.
FltRetrieveIoPriorityInfo
The FltRetrieveIoPriorityInfo routine is used by a minifilter driver to retrieve priority information from a thread.
FltReuseCallbackData
The FltReuseCallbackData routine reinitializes a callback data structure so that it can be reused.
FltRollbackComplete
The FltRollbackComplete routine acknowledges a TRANSACTION_NOTIFY_ROLLBACK notification.
FltRollbackEnlistment
The FltRollbackEnlistment routine rolls back or aborts a transaction on behalf of a minifilter driver.
FltSendMessage
FltSendMessage sends a message to a waiting user-mode application on behalf of a minifilter driver or a minifilter driver instance.
FltSetActivityIdCallbackData
The FltSetActivityIdCallbackData routine sets the a activity ID for an IRP in a minifilter's callback data.
FltSetCallbackDataDirty
A minifilter driver's preoperation or postoperation callback routine calls FltSetCallbackDataDirty to indicate that it has modified the contents of the callback data structure.
FltSetCancelCompletion
A minifilter driver calls FltSetCancelCompletion to specify a cancel routine to be called if a given I/O operation is canceled.
FltSetEaFile
FltSetEaFile sets extended-attribute (EA) values for a file.
FltSetEcpListIntoCallbackData
The FltSetEcpListIntoCallbackData routine attaches an extra create parameter context structure (ECP) list to a create operation callback-data object.
FltSetFileContext
The FltSetFileContext routine sets a context for a file.
FltSetInformationFile
FltSetInformationFile sets information for a given file.
FltSetInstanceContext
FltSetInstanceContext sets a context for a minifilter driver instance.
FltSetIoPriorityHintIntoCallbackData
The FltSetIoPriorityHintIntoCallbackData routine is used by a minifilter driver to set the I/O priority information in callback data.
FltSetIoPriorityHintIntoFileObject
The FltSetIoPriorityHintIntoFileObject routine is used by a minifilter driver to set the I/O priority information in a file object.
FltSetIoPriorityHintIntoThread
The FltSetIoPriorityHintIntoThread routine is used by a minifilter driver to set the IO priority information in a thread.
FltSetQuotaInformationFile
The FltSetQuotaInformationFile routine modifies quota entries for a file object.
FltSetSecurityObject
FltSetSecurityObject sets an object's security state.
FltSetStreamContext
The FltSetStreamContext routine sets a context for a file stream.
FltSetStreamHandleContext
The FltSetStreamHandleContext routine sets a context for a stream handle.
FltSetTransactionContext
The FltSetTransactionContext routine sets a context on a transaction.
FltSetVolumeContext
FltSetVolumeContext sets a context for a volume.
FltSetVolumeInformation
FltSetVolumeInformation changes various kinds of information about the volume that the given instance is attached to.
FltStartFiltering
FltStartFiltering starts filtering for a registered minifilter driver.
FltSupportsFileContexts
The FltSupportsFileContexts routine determines whether the file system supports file contexts for a given file.
FltSupportsFileContextsEx
The FltSupportsFileContextsEx routine determines whether the file system or the filter manager support file contexts for a given file.
FltSupportsStreamContexts
FltSupportsStreamContexts determines whether stream contexts are supported on a given file object.
FltSupportsStreamHandleContexts
FltSupportsStreamHandleContexts determines whether stream handle contexts are supported on a given file object.
FltTagFile
FltTagFile sets a reparse tag on a file or directory.
FltUninitializeFileLock
The FltUninitializeFileLock routine uninitializes a FILE_LOCK structure.
FltUninitializeOplock
FltUninitializeOplock uninitializes an opportunistic lock (oplock) pointer.
FltUnloadFilter
A minifilter driver that has loaded a supporting minifilter driver by calling FltLoadFilter can unload the minifilter driver by calling FltUnloadFilter.
FltUnregisterFilter
A registered minifilter driver calls FltUnregisterFilter to unregister itself so that the Filter Manager no longer calls it to process I/O operations.
FltUntagFile
FltUntagFile removes a reparse point from a file or directory.
FltWriteFile
FltWriteFile is used to write data to an open file, stream, or device.
FltWriteFileEx
FltWriteFileEx is used to write data to an open file, stream, or device. This function extends FltWriteFile to allow the optional use of an MDL for write data instead of a mapped buffer address.
IS_ALIGNED
The IS_ALIGNED macro determines whether the first argument is aligned on the specified power-of-2 boundary.