次の方法で共有


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構造体へのポインターを返します。 このファイルのバイト範囲ロックがこれ以上ない場合、 FsRtlGetNextFileLockNULL を返します。

注釈

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

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

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)

こちらもご覧ください

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock