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 结构的指针。 此结构必须已通过先前对 FsRtlAllocateFileLockFsRtlInitializeFileLock 的调用初始化。

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 (包括 Ntifs.h)
IRQL <= APC_LEVEL

另请参阅

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock