Expand Minimize

FsRtlEnterFileSystem function

The FsRtlEnterFileSystem macro temporarily disables the delivery of normal kernel-mode asynchronous procedure calls (APC). Special kernel-mode APCs are still delivered.

Syntax


VOID FsRtlEnterFileSystem(
  VOID 
);

Parameters

None

Return value

This function does not return a value.

Remarks

Every file system driver entry point routine must call FsRtlEnterFileSystem immediately before acquiring a resource required in performing a file I/O request and call FsRtlExitFileSystem immediately afterward. This ensures that the routine cannot be suspended while running and thus block other file I/O requests.

Every successful call to FsRtlEnterFileSystem must be matched by a subsequent call to FsRtlExitFileSystem.

Note that, unlike local file systems and network redirectors, file system filter drivers should never disable delivery of normal kernel APCs (by calling FsRtlEnterFileSystem or KeEnterCriticalRegion or by raising to IRQL APC_LEVEL) across a call to IoCallDriver.

File system filter drivers should disable normal kernel APCs before acquiring any resource. File system filter drivers acquire resources with the following routines:

As an alternative to FsRtlEnterFileSystem, minifilter drivers can use the FltAcquireResourceExclusive, FltAcquireResourceShared, and FltReleaseResource routines which properly handles APCs when acquiring and releasing a resource.

Requirements

Header

Ntifs.h (include Ntifs.h)

IRQL

<= APC_LEVEL

See also

ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceShared
ExAcquireResourceSharedLite
ExAcquireSharedWaitForExclusive
ExAcquireSharedStarveExclusive
ExReleaseResource
ExReleaseResourceLite
ExTryToAcquireFastMutex
FltAcquireResourceExclusive
FltAcquireResourceShared
FltReleaseResource
FsRtlExitFileSystem
IoCallDriver
KeEnterCriticalRegion
KeRaiseIrqlToDpcLevel

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft