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 成员可指定调用方所请求信息的类型。

  • Length:指向 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