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)

See also

ACCESS_MASK

ACCESS_STATE

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FltAllocateFileLock

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE