IRP_MJ_QUERY_OPEN联合FLT_PARAMETERS

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

语法

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PIRP                   Irp;
    PVOID                  FileInformation;
    PULONG                 Length;
    FILE_INFORMATION_CLASS FileInformationClass;
  } QueryOpen;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

成员

  • Irp:指向与此作关联的 IRP 的指针。

  • FileInformation:指向调用方分配的缓冲区的指针,例程将请求的信息写入到其中的文件对象。 FileInformationClass 成员指定调用方请求的信息类型。

  • 长度:指向 FileInformation 指向的缓冲区的大小(以字节为单位)的指针。

  • FileInformationClass:指定要在 FileInformation 指向的缓冲区中返回有关文件的信息的类型。 设备和中间驱动程序可以指定以下任何 FILE_INFORMATION_CLASS 值。 其他值导致调用失败,不应传递给 PreQueryOpen/PostQueryOpen 调用。

    FILE_INFORMATION_CLASS值 返回的信息类型
    FileStatInformation FILE_STAT_INFORMATION结构。 此结构包含访问掩码。 有关访问掩码的详细信息,请参阅 ACCESS_MASK
    FileStatLxInformation FILE_STAT_LX_INFORMATION结构。 此结构包含访问掩码。 有关访问掩码的详细信息,请参阅 ACCESS_MASK
    FileCaseSensitiveInformation FILE_CASE_SENSITIVE_INFORMATION结构。
    FileStatBasicInformation FILE_STAT_BASIC_INFORMATION结构。

注解

IRP_MJ_QUERY_OPEN作的FLT_PARAMETERS结构包含由回调数据(FLT_CALLBACK_DATA)结构表示的 QueryOpen作的参数。 它包含在FLT_IO_PARAMETER_BLOCK结构中。

IRP_MJ_QUERY_OPEN是文件系统(FSFilter)回调作。 筛选器可以使用FLT_PREOP_DISALLOW_FSFILTER_IO和FLT_POSTOP_DISALLOW_FSFILTER_IO分别拒绝作 前回调 和作 后回调 中的作。

文件系统 不会 在IO_STATUS块中填写 “信息 ”字段。 筛选器不应在其后调用中检查此值。

有关 FSFilter 回调作的详细信息,请参阅 FsRtlRegisterFileSystemFilterCallbacks 的参考条目。

要求

要求类型 要求
标题 Fltkernel.h (包括 Fltkernel.h

另请参阅

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FsRtlRegisterFileSystemFilterCallbacks