IRP_MJ_LOCK_CONTROL联合FLT_PARAMETERS
当操作的FLT_IO_PARAMETER_BLOCK结构的 MajorFunction 字段IRP_MJ_LOCK_CONTROL时,使用以下联合组件。
语法
typedef union _FLT_PARAMETERS {
... ;
struct {
PLARGE_INTEGER Length;
ULONG POINTER_ALIGNMENT Key;
LARGE_INTEGER ByteOffset;
PEPROCESS ProcessId;
BOOLEAN FailImmediately;
BOOLEAN ExclusiveLock;
} LockControl;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
成员
LockControl:包含以下成员的结构。
Length:指向变量的指针,该变量指定要锁定的范围的长度(以字节为单位)。
键:要分配给字节范围锁的键值。
ByteOffset:要锁定的范围文件中的起始字节偏移量。
ProcessId:指向请求字节范围锁的进程的进程对象的不透明指针。
FailImmediately:布尔值,指定如果无法立即授予锁,则锁请求是否应失败。 如果请求线程可以进入等待状态,直到请求获得授权,则此成员设置为 FALSE ;如果不能,则此成员设置为 TRUE 。
ExclusiveLock:指定是否请求独占锁的布尔值。 如果请求了独占锁,则此成员设置为 TRUE ;如果请求共享锁,则设置为 FALSE 。
注解
由回调数据 表示 的 IRP_MJ_LOCK_CONTROL 操作的FLT_PARAMETERS结构 (FLT_CALLBACK_DATA) 结构。 它包含在 FLT_IO_PARAMETER_BLOCK 结构中。
IRP_MJ_LOCK_CONTROL可以是基于 IRP 的 I/O 操作或快速 I/O 操作。
要求
要求类型 | 要求 |
---|---|
标头 | Fltkernel.h (包括 Fltkernel.h) |