Поделиться через


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)

См. также раздел

ACCESS_MASK

ACCESS_STATE

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_PARAMETERS

FltCreateFile

IRP_MJ_CREATE