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 位对应于 FltCreateFile 的 CreateOptions 参数。 高 8 位对应于 FltCreateFile 的 CreateDisposition 参数。
FileAttributes:创建或打开文件时要应用的属性的位掩码。 有关详细信息,请参阅 FltCreateFile 的 FileAttributes 参数。
ShareAccess:为文件请求的共享访问权限的位掩码。 如果此参数为零,则请求独占访问。 有关详细信息,请参阅 FltCreateFile 的 ShareAccess 参数。
EaLength: EaBuffer 成员指向的缓冲区的长度(以字节为单位)。 有关详细信息,请参阅 FltCreateFile 的 EaLength 参数。
EaBuffer:指向调用方提供的 FILE_FULL_EA_INFORMATION结构化缓冲区的指针,该缓冲区包含要应用于文件的扩展属性 (EA) 信息。 有关详细信息,请参阅 FltCreateFile 的 EaBuffer 参数。
AllocationSize:(可选)指定文件的初始分配大小(以字节为单位)。 除非正在创建、覆盖或取代文件,否则非零值无效。 有关详细信息,请参阅 FltCreateFile 的 AllocationSize 参数。
注解
IRP_MJ_CREATE操作的FLT_PARAMETERS结构包含基于 IRP 的 Create 操作的参数,该操作由回调数据 (FLT_CALLBACK_DATA) 结构表示。 它包含在 FLT_IO_PARAMETER_BLOCK 结构中。
IRP_MJ_CREATE是基于 IRP 的操作。
要求
要求类型 | 要求 |
---|---|
标头 | Fltkernel.h (包括 Fltkernel.h) |