共用方式為


FsRtlEnterFileSystem 函式

FsRtlEnterFileSystem 宏會暫時停用 (APC) 一般內核模式異步過程調用的傳遞。 仍會傳遞特殊核心模式 APC。

語法

VOID FsRtlEnterFileSystem(
   VOID
);

參數

None

傳回值

此函式不會傳回值。

備註

每個文件系統驅動程式進入點例程都必須立即呼叫 FsRtlEnterFileSystem ,然後才取得執行檔案 I/O 要求所需的資源,然後立即呼叫 FsRtlExitFileSystem 。 這可確保例程在執行時無法暫停,因而封鎖其他檔案 I/O 要求。

FsRtlEnterFileSystem 的每個成功呼叫都必須與 後續對 FsRtlExitFileSystem 的呼叫相符。

只有在 FsRtlExitFileSystemKeLeaveCriticalRegion 位於相同的分派例程中時,文件系統篩選驅動程式才能在 IoCallDriver 之前呼叫 FsRtlEnterFileSystemKeLeaveCriticalRegion,以停用一般核心 APC 的傳遞。 他們不應該在IoCallDriver之前呼叫 FsRtlEnterFileSystemKeEnterCriticalRegion,然後在 IRP 完成例程中呼叫 FsRtlExitFileSystemKeLeaveCriticalRegion。 驅動程式驗證器具有可協助攔截此條件的規則。

文件系統篩選驅動程式應該先停用一般核心 APC,再取得任何資源。 檔案系統篩選驅動程式會使用下列例程取得資源:

作為 FsRtlEnterFileSystem 的替代方案,minifilter 驅動程式可以使用 FltAcquireResourceExclusiveFltAcquireResourceSharedFltReleaseResource 例程,以在取得和釋放資源時正確處理 APC。

規格需求

需求類型 需求
標頭 Ntifs.h (包含 Ntifs.h)
IRQL <= APC_LEVEL

另請參閱

ExAcquireResourceExclusive

ExAcquireResourceExclusiveLite

ExAcquireResourceShared

ExAcquireResourceSharedLite

ExAcquireSharedWaitForExclusive

ExAcquireSharedStarveExclusive

ExReleaseResource

ExReleaseResourceLite

ExTryToAcquireFastMutex

FltAcquireResourceExclusive

FltAcquireResourceShared

FltReleaseResource

FsRtlExitFileSystem

IoCallDriver

KeEnterCriticalRegion

KeRaiseIrqlToDpcLevel