Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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. This member is always populated, but only meaningful for FastIo locking operations. It's distinguished from the value returned by FltGetRequestorProcess because ProcessId always identifies the original requesting process, while FltGetRequestorProcess might return either the result of IoGetRequestorProcess (for IRP operations) or PsGetCurrentProcess (for FastI/O operations), which can differ from the original requestor. 
- 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. This member is always populated, but only meaningful for FastIo locking operations. 
- 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. This member is always populated, but only meaningful for FastIo locking operations. 
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) |