FsRtlFastLock 宏 (ntifs.h)
FsRtlFastLock 宏由文件系统和筛选器驱动程序用于请求文件流的字节范围锁。
语法
BOOLEAN
FsRtlFastLock( A1, /* FileLock */
A2, /* FileObject */
A3, /* FileOffset */
A4, /* Length */
A5, /* ProcessId */
A6, /* Key */
A7, /* FailImmediately */
A8, /* ExclusiveLock */
A9, /* Iosb */
A10, /* Context */
A11 /* AlreadySynchronized */ )
参数
A1
[in] FileLock:指向文件的 FILE_LOCK 结构的指针。 此结构必须由先前调用 FsRtlAllocateFileLock 或 FsRtlInitializeFileLock初始化。
A2
[in] FileObject:指向打开文件的 FILE_OBJECT 的指针。 文件对象必须已创建,GENERIC_READ或GENERIC_WRITE对文件(或两者)的访问权限。
A3
[in] FileOffset:指向一个变量的指针,该变量指定要锁定的范围内的起始字节偏移量。
A4
[in] Length:指向一个变量的指针,该变量指定要锁定的范围长度(以字节为单位)。
A5
[in] ProcessId:指向请求字节范围锁的进程 EPROCESS 进程 ID 的指针。
A6
[in] 键:要分配给字节范围的锁的键。
A7
[in] FailImmediately:指定锁定请求是否应立即授予锁的布尔值。 如果调用方可以置于等待状态,直到授予请求,请将 FailImmediately 设置为 FALSE。 如果无法,请将 FailImmediately 设置为 TRUE。
A8
[in] ExclusiveLock:如果请求独占锁,则设置为 TRUE;如果请求共享锁,则为 FALSE。
A9
[out] Iosb:指向接收锁请求状态信息的调用方分配 IO_STATUS_BLOCK 结构的指针。
A10
[in] Context:指向释放字节范围锁时要使用的上下文的可选指针。
A11
[in] AlreadySynchronized:此参数已过时,但保留为与旧驱动程序兼容。
返回值
没有
言论
FsRtlFastLock 宏会导致调用方获取指定文件区域的字节范围锁。
FsRtlFastLock 返回 TRUE 以指示 Iosb 指向的IO_STATUS_BLOCK结构 收到有关锁定操作的状态信息;否则返回 FALSE。
若要检查 Iosb 指向的结构的内容,请使用NT_STATUS宏。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | ntifs.h (include Ntifs.h) |
IRQL | <= APC_LEVEL |