Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

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)

See also

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FsRtlRegisterFileSystemFilterCallbacks


Feedback

Was this page helpful?

Additional resources