次の方法で共有


FsRtlAreThereCurrentFileLocks マクロ (ntifs.h)

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

構文

void FsRtlAreThereCurrentFileLocks(
   FL
);

パラメーター

FL

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

戻り値

なし

解説

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

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

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

要件

要件
対象プラットフォーム デスクトップ
Header ntifs.h (Ntifs.h を含む)
IRQL 任意のレベル

こちらもご覧ください

FsRtlAllocateFileLock

FsRtlAreThereCurrentOrInProgressFileLocks

FsRtlInitializeFileLock