次の方法で共有


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 構造体に含まれています。

Note

IRP_MJ_NETWORK_QUERY_OPEN に関連付けられているファイル オブジェクトは、スタックベースのオブジェクトです。 NetworkQueryOpen コールバックに登録されているフィルターで、このオブジェクトを参照することはできません。 つまり、このスタックベースのファイル オブジェクトで ObReferenceObject または ObDereferenceObject を呼び出したり、このオブジェクトへのポインターを保存したりしないでください。

IRP_MJ_NETWORK_QUERY_OPEN は、高速な I/O 操作です。 これは (FastIoQueryNetworkOpenInfo ではなく) FastIoQueryOpen 操作に相当します。 フィルターでは、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