FLT_PARAMETERS for IRP_MJ_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_QUERY_OPEN.
Syntax
typedef union _FLT_PARAMETERS {
... ;
struct {
PIRP Irp;
PVOID FileInformation;
PULONG Length;
FILE_INFORMATION_CLASS FileInformationClass;
} QueryOpen;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Members
Irp: A pointer to the IRP associated with this operation.
FileInformation: A pointer to a caller-allocated buffer into which the routine writes the requested information about the file object. The FileInformationClass member specifies the type of information that the caller requests.
Length: A pointer to the size, in bytes, of the buffer pointed to by FileInformation.
FileInformationClass: Specifies the type of information to be returned about the file, in the buffer that FileInformation points to. Device and intermediate drivers can specify any of the following FILE_INFORMATION_CLASS values. Other values cause the call to fail and should not be passed to PreQueryOpen/PostQueryOpen calls.
FILE_INFORMATION_CLASS value Type of information returned FileStatInformation A FILE_STAT_INFORMATION structure. This structure contains an access mask. For more information about access masks, see ACCESS_MASK. FileStatLxInformation A FILE_STAT_LX_INFORMATION structure. This structure contains an access mask. For more information about access masks, see ACCESS_MASK. FileCaseSensitiveInformation A FILE_CASE_SENSITIVE_INFORMATION structure. FileStatBasicInformation A FILE_STAT_BASIC_INFORMATION structure.
Remarks
The FLT_PARAMETERS structure for IRP_MJ_QUERY_OPEN operations contains the parameters for an QueryOpen operation represented by a callback data (FLT_CALLBACK_DATA) structure. It is contained in an FLT_IO_PARAMETER_BLOCK structure.
IRP_MJ_QUERY_OPEN is a file system (FSFilter) callback operation. A filter can reject the operation in both its pre-operation callback and post-operation callback using FLT_PREOP_DISALLOW_FSFILTER_IO and FLT_POSTOP_DISALLOW_FSFILTER_IO, respectively.
The File System does not fill in the Information field in the IO_STATUS block. Filters shouldn't inspect this value in their post-calls.
For more information about FSFilter callback operations, see the reference entry for FsRtlRegisterFileSystemFilterCallbacks.
Requirements
Requirement type | Requirement |
---|---|
Header | Fltkernel.h (include Fltkernel.h) |