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.
Union component used when the MajorFunction field of the FLT_IO_PARAMETER_BLOCK structure for the operation is IRP_MJ_SET_EA.
Syntax
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
PVOID EaBuffer;
PMDL MdlAddress;
} SetEa;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Members
SetEa: Structure containing the following members.
Length: Length, in bytes, of the buffer that EaBuffer points to.
EaBuffer: Pointer to a caller-supplied, FILE_FULL_EA_INFORMATION-structured input buffer that contains the extended attribute (EA) values to be set. This member is optional and can be NULL if a MDL is provided in MdlAddress. See Remarks.
MdlAddress: Address of a memory descriptor list (MDL) describing the buffer that EaBuffer points to. This member is optional and can be NULL if a buffer is provided in EaBuffer. See Remarks.
Remarks
The FLT_PARAMETERS structure for IRP_MJ_SET_EA operations contains the parameters for a set-extended-attributes-information-operation represented by a callback data (FLT_CALLBACK_DATA) structure. It is contained in an FLT_IO_PARAMETER_BLOCK structure.
If both an EaBuffer and MdlAddress buffer are provided, it is recommended that minifilters use the MDL. The memory that EaBuffer points to is valid when it is a user mode address being accessed within the context of the calling process, or if it is a kernel mode address.
If a minifilter changes the value of MdlAddress, then after its post operation callback, Filter Manager will free the MDL currently stored in MdlAddress and restore the previous value of MdlAddress.
IRP_MJ_SET_EA is an IRP-based operation.
Requirements
Requirement type | Requirement |
---|---|
Header | Fltkernel.h (include Fltkernel.h) |