IRP_MJ_SET_EA 联合的 FLT_PARAMETERS

IRP_MJ_SET_EA操作的FLT_IO_PARAMETER_BLOCK结构的MajorFunction字段时使用的联合组件。

语法

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG Length;
    PVOID EaBuffer;
    PMDL  MdlAddress;
  } SetEa;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

成员

SetEa
包含以下成员的结构。

时长
EaBuffer指向的缓冲区的长度(以字节为单位)。

EaBuffer
一个指针,指向由调用方提供的 FILE_FULL_EA_INFORMATION结构化输入缓冲区,其中包含要设置的 (EA) 值的扩展属性。 此成员是可选的,如果 MdlAddress中提供 MDL,此成员可以为 NULL。 请参阅备注

MdlAddress
(MDL 的内存描述符列表的地址) 描述 EaBuffer 指向的缓冲区。 此成员是可选的,如果EaBuffer中提供了缓冲区,则可以为NULL 。 请参阅备注

备注

IRP_MJ_SET_EA操作的FLT_PARAMETERS结构包含由 (FLT_CALLBACK_DATA) 结构的回调数据所表示的设置扩展属性信息操作的参数。 它包含在 FLT_IO_PARAMETER_BLOCK 结构中。

如果同时提供了 EaBufferMdlAddress 缓冲区,则建议 minifilters 使用 MDL。 当 EaBuffer 指向的内存是在调用进程的上下文中访问的用户模式地址时,或者如果它是内核模式地址,则它是有效的。

如果微筛选器更改 MdlAddress的值,则在其后回拨后,筛选器管理器将释放当前存储在 MDLADDRESS 中的 MDL,并还原以前的 MdlAddress值。

IRP_MJ_SET_EA 是基于 IRP 的操作。

要求

标头: Fltkernel (包含 Fltkernel)

请参阅

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckEaBufferValidity

IRP_MJ_SET_EA