FLT_PARAMETERS for IRP_MJ_RELEASE_FOR_MOD_WRITE union

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

Syntax

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PERESOURCE ResourceToRelease;
  } ReleaseForModifiedPageWriter;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Members

  • ReleaseForModifiedPageWriter: Structure containing the following members.

  • ResourceToRelease: Pointer to the resource to be released.

Remarks

The FLT_PARAMETERS structure for IRP_MJ_RELEASE_FOR_MOD_WRITE operations contains the parameters for a ReleaseForModifiedPageWriter operation represented by a callback data (FLT_CALLBACK_DATA) structure. It is contained in an FLT_IO_PARAMETER_BLOCK structure.

IRP_MJ_RELEASE_FOR_MOD_WRITE is a file system (FSFilter) callback operation.

IRP_MJ_RELEASE_FOR_MOD_WRITE is typically invoked from the modified page writer as part of a special kernel APC. It always runs at IRQL = APC_LEVEL. Because it might be called in the context of a special kernel APC, it can preempt kernel-mode code that executes at IRQL = PASSIVE_LEVEL, including both user APCs and normal kernel APCs. Therefore, take care when waiting on resources that may be held by a thread that the IRP_MJ_RELEASE_FOR_MODE_WRITE operation may have preempted. Attempting to wait on such resources may result in a deadlock.

For more information about FSFilter callback operations, see the reference entry for FsRtlRegisterFileSystemFilterCallbacks.

Requirements

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

See also

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FsRtlRegisterFileSystemFilterCallbacks