FLT_PARAMETERS for IRP_MJ_CREATE union

The following union component is used when the MajorFunction field of the FLT_IO_PARAMETER_BLOCK structure for the operation is IRP_MJ_CREATE.

Syntax

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PIO_SECURITY_CONTEXT     SecurityContext;
    ULONG                    Options;
    USHORT POINTER_ALIGNMENT FileAttributes;
    USHORT                   ShareAccess;
    USHORT POINTER_ALIGNMENT EaLength;
    PVOID                    EaBuffer;
    LARGE_INTEGER            AllocationSize;
  } Create;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Members

The Create structure of FLT_PARAMETERS contains the following members.

SecurityContext: Pointer to an IO_SECURITY_CONTEXT structure that represents the security context of an IRP_MJ_CREATE request, where:

  • SecurityContext->AccessState is a pointer to an ACCESS_STATE structure that contains the object's subject context, granted access types, and remaining desired access types.

  • SecurityContext->DesiredAccess is an ACCESS_MASK structure that specifies access rights requested for the file. For more information, see the DesiredAccess parameter to FltCreateFile.

  • Options: Bitmask of flags that specify the options to be applied when creating or opening the file, as well as the action to be taken if the file already exists. The low 24 bits of this member correspond to the CreateOptions parameter to FltCreateFile. The high 8 bits correspond to the CreateDisposition parameter to FltCreateFile.

  • FileAttributes: Bitmask of attributes to be applied when creating or opening the file. For more information, see the FileAttributes parameter to FltCreateFile.

  • ShareAccess: Bitmask of share access rights requested for the file. If this parameter is zero, exclusive access is being requested. For more information, see the ShareAccess parameter to FltCreateFile.

  • EaLength: Length, in bytes, of the buffer that the EaBuffer member points to. For more information, see the EaLength parameter to FltCreateFile.

  • EaBuffer: Pointer to a caller-supplied, FILE_FULL_EA_INFORMATION-structured buffer that contains extended attribute (EA) information to be applied to the file. For more information, see the EaBuffer parameter to FltCreateFile.

  • AllocationSize: Optionally specifies the initial allocation size, in bytes, for the file. A nonzero value has no effect unless the file is being created, overwritten, or superseded. For more information, see the AllocationSize parameter to FltCreateFile.

Remarks

The FLT_PARAMETERS structure for the IRP_MJ_CREATE operation contains the parameters for an IRP-based Create operation represented by a callback data (FLT_CALLBACK_DATA) structure. It is contained in an FLT_IO_PARAMETER_BLOCK structure.

IRP_MJ_CREATE is an IRP-based operation.

Requirements

Requirement type Requirement
Header Fltkernel.h (include Fltkernel.h)

See also

ACCESS_MASK

ACCESS_STATE

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_PARAMETERS

FltCreateFile

IRP_MJ_CREATE