IRP_MJ_QUERY_QUOTA联合的FLT_PARAMETERS

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

语法

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                       Length;
    PSID                        StartSid;
    PFILE_GET_QUOTA_INFORMATION SidList;
    ULONG                       SidListLength;
    PVOID                       QuotaBuffer;
    PMLD                        MdlAddress;
  } QueryQuota;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

成员

  • QueryQuota:包含以下成员的结构。

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

  • StartSid:指向安全标识符 (SID) 开始扫描配额列表的条目的可选指针。 如果未在操作的FLT_IO_PARAMETER_BLOCK结构中设置SL_INDEX_SPECIFIED标志,或者 SidList 指向非空列表,则忽略此参数。

  • SidList:指向调用方提供的FILE_GET_QUOTA_INFORMATION结构化输入缓冲区的指针,该缓冲区指定要查询其配额信息的 SID。

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

  • QuotaBuffer:指向调用方提供的 FILE_QUOTA_INFORMATION结构化输出缓冲区的指针,该缓冲区将返回配额信息。 此成员是可选的,如果 MdlAddress 中提供了 MDL,则该成员可以为 NULL。 请参阅备注

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

注解

IRP_MJ_QUERY_QUOTA操作的FLT_PARAMETERS结构包含基于 IRP 的 query-quota-information 操作的参数,该操作由回调数据 (FLT_CALLBACK_DATA) 结构表示。 它包含在FLT_IO_PARAMETER_BLOCK结构中。

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

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

IRP_MJ_QUERY_QUOTA是基于 IRP 的操作。

要求

要求类型 要求
标头 Fltkernel.h (包括 Fltkernel.h)

另请参阅

FILE_QUOTA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckQuotaBufferValidity

IRP_MJ_QUERY_QUOTA

SID