IRP_MJ_QUERY_OPEN 联合的 FLT_PARAMETERS
当针对操作的 FLT_IO_PARAMETER_BLOCK 结构的 MajorFunction 字段为 IRP_MJ_QUERY_OPEN 时,将使用以下联合组件。
语法
typedef union _FLT_PARAMETERS {
... ;
struct {
PIRP Irp;
PVOID FileInformation;
PULONG Length;
FILE_INFORMATION_CLASS FileInformationClass;
} QueryOpen;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
成员
Irp:指向与此操作关联的 IRP 的指针。
FileInformation:指向调用方分配的缓冲区的指针,而例程会将有关文件对象的请求信息写入到此缓冲区中。 FileInformationClass 成员可指定调用方所请求信息的类型。
Length:指向 FileInformation 所指向缓冲区的大小(以字节为单位)的指针。
FileInformationClass:指定要在 FileInformation 所指向缓冲区中返回的有关此文件的信息的类型。 设备和中间驱动程序可指定以下任意 FILE_INFORMATION_CLASS 值。 其他值会导致此调用失败,且不应将其传递给 PreQueryOpen/PostQueryOpen 调用。
FILE_INFORMATION_CLASS 值 返回信息的类型 FileStatInformation FILE_STAT_INFORMATION 结构。 此结构包含访问掩码。 有关访问掩码的详细信息,请参阅 ACCESS_MASK。 FileStatLxInformation FILE_STAT_LX_INFORMATION 结构。 此结构包含访问掩码。 有关访问掩码的详细信息,请参阅 ACCESS_MASK。 FileCaseSensitiveInformation FILE_CASE_SENSITIVE_INFORMATION 结构。 FileStatBasicInformation FILE_STAT_BASIC_INFORMATION 结构。
注解
IRP_MJ_QUERY_OPEN 操作的 FLT_PARAMETERS 结构,其中包含由回调数据 (FLT_CALLBACK_DATA) 结构表示的 QueryOpen 操作的参数。 它包含在 FLT_IO_PARAMETER_BLOCK 结构中。
IRP_MJ_QUERY_OPEN 为文件系统 (FSFilter) 回调操作。 筛选器可以分别使用 FLT_PREOP_DISALLOW_FSFILTER_IO 和 FLT_POSTOP_DISALLOW_FSFILTER_IO 拒绝其操作前回调和操作后回调中的操作。
文件系统不会在 IO_STATUS 块中填写信息字段。 筛选器不应在其后续调用中检查此值。
有关 FSFilter 回调操作的详细信息,请参阅 FsRtlRegisterFileSystemFilterCallbacks 的参考条目。
要求
要求类型 | 要求 |
---|---|
标头 | Fltkernel.h(包括 Fltkernel.h) |