FsRtlGetNextFileLock 函数 (ntifs.h)

FsRtlGetNextFileLock 例程用于枚举指定文件当前存在的字节范围锁。

语法

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

参数

[in] FileLock

指向文件的FILE_LOCK结构的指针。 此结构必须已由之前对 FsRtlAllocateFileLockFsRtlInitializeFileLock 的调用初始化。

[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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport)

另请参阅

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock