次の方法で共有


FsRtlGetNextFileLock 関数 (ntifs.h)

FsRtlGetNextFileLock ルーチンは、指定したファイルに現在存在するバイト範囲ロックを列挙するために使用されます。

構文

PFILE_LOCK_INFO FsRtlGetNextFileLock(
  [in] PFILE_LOCK FileLock,
  [in] BOOLEAN    Restart
);

パラメーター

[in] FileLock

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

[in] Restart

列挙がバイト範囲ロックのリストの先頭から開始する場合は、true を に設定します。 前の呼び出しから列挙を再開する場合は、FALSEに設定します。

特定のファイルのすべてのバイト範囲ロックを列挙するには、次のように FsRtlGetNextFileLock を使用します。

for (p = FsRtlGetNextFileLock( FileLock, TRUE );
     p != NULL;
     p = FsRtlGetNextFileLock( FileLock, FALSE )) {
        // Process the lock information pointed to by p
}

戻り値

FsRtlGetNextFileLock は、次のバイト範囲ロックのFILE_LOCK_INFO構造体へのポインターを返します (存在する場合)。 このファイルのバイト範囲ロックがそれ以上ない場合、fsRtlGetNextFileLock は NULL返します。

備考

バイト範囲ロックは、特定の順序で列挙されません。

現在の列挙状態はFILE_LOCK構造体に格納されるため、呼び出し元は fsRtlGetNextFileLock呼び出しを同期し、返される構造体の変更を回避するように注意する必要があります。 複数のスレッド FsRtlGetNextFileLock を同時に使用しようとすると、結果は予測不能になり、列挙が確実に完了しません。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI コンプライアンス規則 を する hwStorPortProhibitedDDDIs(storport) を する

関連項目

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess の

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock