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 を含む) |