FLT_PARAMETERS для объединения IRP_MJ_CREATE
Следующий компонент объединения используется, если поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_CREATE.
Синтаксис
typedef union _FLT_PARAMETERS {
... ;
struct {
PIO_SECURITY_CONTEXT SecurityContext;
ULONG Options;
USHORT POINTER_ALIGNMENT FileAttributes;
USHORT ShareAccess;
USHORT POINTER_ALIGNMENT EaLength;
PVOID EaBuffer;
LARGE_INTEGER AllocationSize;
} Create;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Члены
Структура Create FLT_PARAMETERS содержит следующие элементы.
SecurityContext: указатель на структуру IO_SECURITY_CONTEXT , представляющую контекст безопасности запроса IRP_MJ_CREATE, где:
SecurityContext->AccessState — это указатель на структуру ACCESS_STATE , которая содержит контекст субъекта объекта, предоставленные типы доступа и остальные требуемые типы доступа.
SecurityContext->DesiredAccess — это структура ACCESS_MASK , указывающая права доступа, запрашиваемые для файла. Дополнительные сведения см. в разделе Параметр DesiredAccess для FltCreateFile.
Параметры: битовая маска флагов, которые указывают параметры, применяемые при создании или открытии файла, а также действия, которые необходимо выполнить, если файл уже существует. Низкие 24 бита этого элемента соответствуют параметру CreateOptionsдля FltCreateFile. Высокие 8 бит соответствуют параметру CreateDisposition для FltCreateFile.
FileAttributes: битовая маска атрибутов, применяемая при создании или открытии файла. Дополнительные сведения см. в разделе Параметр FileAttributes для FltCreateFile.
ShareAccess: битовая маска прав доступа к общей папке, запрошенных для файла. Если этот параметр равен нулю, запрашивается монопольный доступ. Дополнительные сведения см. в разделе Параметр ShareAccess для FltCreateFile.
EaLength: длина (в байтах) буфера, на который указывает элемент EaBuffer . Дополнительные сведения см. в разделе Параметр EaLength для FltCreateFile.
EaBuffer: указатель на предоставленный вызывающим , FILE_FULL_EA_INFORMATION структурированный буфер, содержащий сведения о расширенных атрибутах (EA), применяемые к файлу. Дополнительные сведения см. в разделе Параметр EaBuffer для FltCreateFile.
AllocationSize: при необходимости указывает начальный размер выделения (в байтах) для файла. Ненулевое значение не оказывает никакого влияния, если только файл не создается, не перезаписывается или не заменяет его. Дополнительные сведения см. в разделе Параметр AllocationSize для FltCreateFile.
Комментарии
Структура FLT_PARAMETERS для операции IRP_MJ_CREATE содержит параметры для операции создания на основе IRP, представленной структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в структуре FLT_IO_PARAMETER_BLOCK .
IRP_MJ_CREATE — это операция на основе IRP.
Требования
Тип требования | Требование |
---|---|
Заголовок | Fltkernel.h (включая Fltkernel.h) |