FLT_PARAMETERS for IRP_MJ_LOCK_CONTROL union
The following union component is used when the MajorFunction field of the FLT_IO_PARAMETER_BLOCK structure for the operation is IRP_MJ_LOCK_CONTROL.
Syntax
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;
Members
LockControl: Structure containing the following members.
Length: Pointer to a variable that specifies the length in bytes of the range to be locked.
Key: Key value to be assigned to the byte-range lock.
ByteOffset: Starting byte offset within the file of the range to be locked.
ProcessId: Opaque pointer to the process object for the process that requested the byte-range lock.
FailImmediately: Boolean value specifying whether the lock request should fail if the lock cannot be granted immediately. This member is set to FALSE if the requesting thread can be put into a wait state until the request is granted or TRUE if it cannot.
ExclusiveLock: Boolean value specifying whether an exclusive lock is requested. This member is set to TRUE if an exclusive lock is requested or FALSE if a shared lock is requested.
Remarks
The FLT_PARAMETERS structure for the IRP_MJ_LOCK_CONTROL operation represented by a callback data (FLT_CALLBACK_DATA) structure. It is contained in an FLT_IO_PARAMETER_BLOCK structure.
IRP_MJ_LOCK_CONTROL can be an IRP-based I/O operation or a fast I/O operation.
Requirements
Requirement type | Requirement |
---|---|
Header | Fltkernel.h (include Fltkernel.h) |