次の方法で共有


FsRtlAreThereCurrentFileLocks マクロ (ntifs.h)

FsRtlAreThereCurrentFileLocks マクロは、指定されたファイルに対してバイト範囲ロックが存在するかどうかをチェックします。

構文

void FsRtlAreThereCurrentFileLocks(
   FL
);

パラメーター

FL

ファイルの FILE_LOCK 構造体へのポインター。 この構造体は、FsRtlAllocateFileLock または FsRtlInitializeFileLock以前の呼び出しによって初期化されている必要があります。

戻り値

何一つ

備考

このマクロは BOOLEAN 関数のように機能し、指定したファイルに対してバイト範囲ロックが存在する場合は TRUE を返し、存在しない場合は FALSE を返します。

ファイル システムとフィルター ドライバーは、多くの場合 FastIoCheckIfPossible ルーチンから fsRtlAreThereCurrentFileLocks を呼び出します。

指定したファイルが開かれた後にバイト範囲ロックが存在する場合、FsRtlAreThereCurrentFileLocks は、関連する FILE_LOCK が再初期化されない限り TRUE を返します。 ロックが確立されてから解放された場合、fsRtlAreThereCurrentFileLocks 使用すると、oplock の割り当てが不必要に防止される可能性があります。 この問題を回避するには、FsRtlAreThereCurrentOrInProgressFileLocks を使用します。

必要条件

要件 価値
ターゲット プラットフォーム の デスクトップ
ヘッダー ntifs.h (Ntifs.h を含む)
IRQL 任意のレベル

関連項目

FsRtlAllocateFileLock

FsRtlAreThereCurrentOrInProgressFileLocks

FsRtlInitializeFileLock