IRP_MJ_CREATE 联合的 FLT_PARAMETERS

IRP_MJ_CREATE操作的FLT_IO_PARAMETER_BLOCK结构的MajorFunction字段时,将使用以下联合组件。

语法

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;

成员

FLT_PARAMETERS 的 Create 结构包含以下成员。

SecurityContext

一个指向 IO_SECURITY_CONTEXT 结构的指针,该结构表示 IRP_MJ_CREATE 请求的安全上下文,其中:

  • SecurityContext- >AccessState 是指向 ACCESS_STATE 结构的指针,该结构包含对象的主题上下文、已授予访问类型和剩余所需的访问类型。

  • SecurityContext- >DesiredAccess 是一个 ACCESS_MASK 结构,它指定为文件请求的访问权限。 有关详细信息,请参阅FltCreateFileDesiredAccess参数。

选项
标志的位掩码,用于指定创建或打开该文件时要应用的选项,以及在文件已存在时要执行的操作。 此成员的低24位对应于FltCreateFileCreateOptions参数。 高8位对应于FltCreateFileCreateDisposition参数。

FileAttributes
创建或打开文件时要应用的属性的位掩码。 有关详细信息,请参阅FltCreateFileFileAttributes参数。

ShareAccess
为文件请求的共享访问权限位掩码。 如果此参数为零,则请求独占访问。 有关详细信息,请参阅FltCreateFileShareAccess参数。

EaLength
EaBuffer成员指向的缓冲区的长度(以字节为单位)。 有关详细信息,请参阅FltCreateFileEaLength参数。

EaBuffer
一个指向调用方提供的 FILE_FULL_EA_INFORMATION结构化缓冲区的指针,该缓冲区包含要应用于该文件 (EA) 信息的扩展属性。 有关详细信息,请参阅FltCreateFileEaBuffer参数。

AllocationSize
(可选)指定文件的初始分配大小(以字节为单位)。 如果创建、覆盖或取代了文件,则非零值将不起作用。 有关详细信息,请参阅FltCreateFileAllocationSize参数。

备注

IRP_MJ_CREATE操作的FLT_PARAMETERS结构包含由回调数据表示的基于 IRP 的创建操作的参数 (FLT_CALLBACK_DATA) 结构。 它包含在 FLT_IO_PARAMETER_BLOCK 结构中。

IRP_MJ_CREATE 是基于 IRP 的操作。

要求

|标头 | fltkernel (包含 fltkernel)

另请参阅

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