FLT_PARAMETERS для объединения IRP_MJ_QUERY_QUOTA

Компонент объединения, используемый, когда поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_QUERY_QUOTA.

Синтаксис

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: структура, содержащая следующие элементы.

  • Длина: длина в байтах буфера, на который указывает КвотаBuffer .

  • StartSid: необязательный указатель на идентификатор безопасности записи, с которой начинается сканирование списка квот. Этот параметр игнорируется, если флаг SL_INDEX_SPECIFIED не задан в структуре FLT_IO_PARAMETER_BLOCK для операции или если SidList указывает на список nonempty.

  • SidList: указатель на предоставленный вызывающим FILE_GET_QUOTA_INFORMATION структурированный входной буфер, указывающий идентификаторы SID, сведения о квоте которых необходимо запрашивать.

  • SidListLength: длина в байтах буфера, на который указывает SidList .

  • QuotaBuffer: указатель на предоставленный вызывающим FILE_QUOTA_INFORMATION структурированный выходной буфер, в котором возвращаются сведения о квоте. Этот элемент является необязательным и может иметь значение NULL, если MDL предоставляется в MdlAddress. См. примечания.

  • MdlAddress: адрес списка дескрипторов памяти (MDL), описывающий буфер, на который указывает КвотаBuffer . Этот элемент является необязательным и может иметь значение NULL , если буфер указан в QuotaBuffer. См. примечания.

Замечания

Структура FLT_PARAMETERS для операций IRP_MJ_QUERY_QUOTA содержит параметры для операции запроса на основе IRP, представленной структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в FLT_IO_PARAMETER_BLOCK структуре.

Если предоставляется буфер QuotaBuffer и MdlAddress , рекомендуется использовать минифильтры MDL. Память, на которую указывает КвотаBuffer , допустимая, если она является адресом пользовательского режима, доступ к которому осуществляется в контексте вызывающего процесса, или если он является адресом режима ядра.

Если мини-фильтр изменяет значение MdlAddress, то после обратного вызова после операции диспетчер фильтров освобождает MDL, хранящийся в MdlAddress , и восстановит предыдущее значение MdlAddress.

IRP_MJ_QUERY_QUOTA — это операция на основе IRP.

Требования

Тип требования Требование
Заголовок Fltkernel.h (include 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