Поделиться через


FLT_PARAMETERS для объединения IRP_MJ_QUERY_OPEN

Следующий компонент объединения используется, когда поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции 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 указывает тип информации, запрашиваемой вызывающим элементом.

  • Длина: указатель на размер буфера в байтах, на который указывает 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 .

Замечания

Структура FLT_PARAMETERS для операций IRP_MJ_QUERY_OPEN содержит параметры для операции QueryOpen, представленной структурой обратного вызова (FLT_CALLBACK_DATA). Он содержится в 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 (include Fltkernel.h)

См. также

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FsRtlRegisterFileSystemFilterCallbacks