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) |