FLT_PARAMETERS for IRP_MJ_NETWORK_QUERY_OPEN union
The following union component is used when the MajorFunction field of the FLT_IO_PARAMETER_BLOCK structure for the operation is IRP_MJ_NETWORK_QUERY_OPEN.
Syntax
typedef union _FLT_PARAMETERS {
... ;
struct {
PIRP Irp;
PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
} NetworkQueryOpen;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Members
NetworkQueryOpen: Structure containing the following members.
Irp: Pointer to a create IRP that represents this open operation. This IRP is to be used by the file system for common open/create code but not actually completed.
NetworkInformation: Pointer to a FILE_NETWORK_OPEN_INFORMATION-structured buffer to receive the requested information about the file.
Remarks
The FLT_PARAMETERS structure for IRP_MJ_NETWORK_QUERY_OPEN operations contains the parameters for a NetworkQueryOpen operation represented by a (FLT_CALLBACK_DATA) structure. The FLT_PARAMETERS structure is contained in an FLT_IO_PARAMETER_BLOCK structure.
Note
The file object associated with IRP_MJ_NETWORK_QUERY_OPEN is a stack-based object. A filter registered for the NetworkQueryOpen callback must not reference this object. That is, don't call ObReferenceObject or ObDereferenceObject on this stack-based file object, and don't save a pointer to the object.
IRP_MJ_NETWORK_QUERY_OPEN is a fast I/O operation. It's the equivalent of the FastIoQueryOpen (not FastIoQueryNetworkOpenInfo) operation. A filter can reject the operation in its pre-operation callback using FLT_PREOP_DISALLOW_FASTIO. It can't reject the operation in its post-operation callback since the file system has already completed the operation and the data is present.
Requirements
Requirement type | Requirement |
---|---|
Header | Fltkernel.h (include Fltkernel.h) |