FLT_PARAMETERS для объединения IRP_MJ_SET_EA
Компонент объединения используется, когда поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_SET_EA.
Синтаксис
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
PVOID EaBuffer;
PMDL MdlAddress;
} SetEa;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Члены
SetEa: структура, содержащая следующие элементы.
Длина: длина (в байтах) буфера, на который указывает EaBuffer .
EaBuffer: указатель на предоставленный вызывающим , FILE_FULL_EA_INFORMATION структурированный входной буфер, содержащий значения расширенных атрибутов (EA), которые необходимо задать. Этот элемент является необязательным и может иметь значение NULL, если MDL предоставляется в MdlAddress. См. Примечания.
MdlAddress: адрес списка дескрипторов памяти (MDL), описывающий буфер, на который указывает EaBuffer . Этот элемент является необязательным и может иметь значение NULL , если буфер предоставляется в EaBuffer. См. Примечания.
Комментарии
Структура FLT_PARAMETERS для операций IRP_MJ_SET_EA содержит параметры для операции set-extended-attributes-information, представленной структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в FLT_IO_PARAMETER_BLOCK структуре.
Если указаны буфер EaBuffer и MdlAddress , рекомендуется, чтобы минифильтры использовали MDL. Память, на которую указывает EaBuffer , действительна, если это адрес в пользовательском режиме, доступ к которому осуществляется в контексте вызывающего процесса, или если это адрес в режиме ядра.
Если мини-фильтр изменяет значение MdlAddress, то после обратного вызова после операции диспетчер фильтров освободит MDL, который в настоящее время хранится в MdlAddress , и восстановит предыдущее значение MdlAddress.
IRP_MJ_SET_EA — это операция на основе IRP.
Требования
Тип требования | Требование |
---|---|
Заголовок | Fltkernel.h (включая Fltkernel.h) |