IRP_MJ_NETWORK_QUERY_OPEN 联合的 FLT_PARAMETERS

当针对操作的 FLT_IO_PARAMETER_BLOCK 结构的 MajorFunction 字段为 IRP_MJ_NETWORK_QUERY_OPEN 时,将使用以下联合组件。

语法

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PIRP                           Irp;
    PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
  } NetworkQueryOpen;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

成员

  • NetworkQueryOpen:包含以下成员的结构。

  • Irp:指向一个表示此打开操作的创建 IRP 的指针。 此 IRP 将由文件系统用于常见但实际上未完成的打开/创建代码。

  • NetworkInformation:指向 FILE_NETWORK_OPEN_INFORMATION 结构化缓冲区的指针,用于接收有关该文件的请求信息。

注解

IRP_MJ_NETWORK_QUERY_OPEN 操作的 FLT_PARAMETERS 结构,其中包含由 (FLT_CALLBACK_DATA) 结构表示的 NetworkQueryOpen 操作的参数。 FLT_PARAMETERS 结构包含在 FLT_IO_PARAMETER_BLOCK 结构中。

注意

与 IRP_MJ_NETWORK_QUERY_OPEN 关联的文件对象是基于堆栈的对象。 为 NetworkQueryOpen 回调注册的筛选器不得引用此对象。 也就是说,不要在此基于堆栈的文件对象上调用 ObReferenceObjectObDereferenceObject,也不要保存指向该对象的指针。

IRP_MJ_NETWORK_QUERY_OPEN 是快速 I/O 操作。 它等效于 FastIoQueryOpen(而不是 FastIoQueryNetworkOpenInfo)操作。 筛选器可以使用 FLT_PREOP_DISALLOW_FASTIO 拒绝其操作前回调中的操作。 它无法拒绝其操作后回调中的操作,因为文件系统已完成该操作,并且存在数据。

要求

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

另请参阅

FILE_NETWORK_OPEN_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FltQueryInformationFile

IRP_MJ_QUERY_INFORMATION

ZwQueryInformationFile