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: структура, содержащая следующие элементы.
Длина: длина (в байтах) буфера, на который указывает QuotaBuffer .
StartSid: необязательный указатель на идентификатор безопасности (SID) записи, с которой начинается сканирование списка квот. Этот параметр игнорируется, если флаг SL_INDEX_SPECIFIED не задан в структуре FLT_IO_PARAMETER_BLOCK операции или если SidList указывает на список непустой.
SidList: указатель на предоставленный вызывающим FILE_GET_QUOTA_INFORMATION структурированный входной буфер, указывающий идентификаторы безопасности, к которым запрашиваются сведения о квоте.
SidListLength: длина (в байтах) буфера, на который указывает SidList .
QuotaBuffer: указатель на предоставленный вызывающим FILE_QUOTA_INFORMATION структурированный выходной буфер, в который должны быть возвращены сведения о квоте. Этот член является необязательным и может иметь значение NULL, если MDL предоставляется в MdlAddress. См. Примечания.
MdlAddress: адрес списка дескрипторов памяти (MDL), описывающего буфер, на который указывает QuotaBuffer . Этот член является необязательным и может иметь значение NULL , если буфер предоставляется в QuotaBuffer. См. Примечания.
Комментарии
Структура FLT_PARAMETERS для операций IRP_MJ_QUERY_QUOTA содержит параметры для операции query-quota-information на основе IRP, представленную структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в FLT_IO_PARAMETER_BLOCK структуре.
Если указаны буфер QuotaBuffer и MdlAddress , рекомендуется, чтобы минифильтры использовали MDL. Память, на которую указывает QuotaBuffer , допустима, если это адрес пользовательского режима, доступ к которому осуществляется в контексте вызывающего процесса, или если это адрес режима ядра.
Если минифильтр изменяет значение MdlAddress, то после обратного вызова после операции диспетчер фильтров освободит MDL, хранящийся в MdlAddress , и восстановит предыдущее значение MdlAddress.
IRP_MJ_QUERY_QUOTA — это операция на основе IRP.
Требования
Тип требования | Требование |
---|---|
Заголовок | Fltkernel.h (включая Fltkernel.h) |