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) |