IRP_MJ_CREATE联合FLT_PARAMETERS

作FLT_IO_PARAMETER_BLOCK结构的MajorFunction 字段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;

成员

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

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

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

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

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

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

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

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

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

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

注解

IRP_MJ_CREATE的FLT_PARAMETERS结构包含回调数据(FLT_CALLBACK_DATA)结构表示的基于 IRP 的 Create作的参数。 它包含在 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