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 (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIS(storport)

另请参阅

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock