Функция FltVetoBypassIo (fltkernel.h)

FltVetoBypassIo извлекает сведения, необходимые для вето на запрос BypassIO.

Синтаксис

NTSTATUS FLTAPI FltVetoBypassIo(
  [in] PFLT_CALLBACK_DATA    CallbackData,
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] NTSTATUS              OperationStatus,
  [in] PCUNICODE_STRING      FailureReason
);

Параметры

[in] CallbackData

Указатель на FLT_CALLBACK_DATA для FSCTL_MANAGE_BYPASS_IO.

[in] FltObjects

Указатель на структуру FLT_RELATED_OBJECTS для операции BypassIO.

[in] OperationStatus

Код ошибки NTSTATUS, предоставленный фильтром для вето.

[in] FailureReason

Уникальная описательная строка, которая содержит сведения о том, почему фильтр вето на запрос на включение BypassIO.

Возвращаемое значение

FltVetoBypassIo возвращает STATUS_SUCCESS после успешного завершения; в противном случае возвращается значение NTSTATUS, например одно из следующих значений.

Ценность Значение
STATUS_BUFFER_TOO_SMALL выходной буфер FSCTL слишком мал.
STATUS_INVALID_BUFFER_SIZE буфера ввода FSCTL слишком мал.
STATUS_INVALID_PARAMETER_3 Не указан соответствующий код ошибки.
STATUS_INVALID_PARAMETER_4 Соответствующая причина сбоя не была предоставлена.
STATUS_NOT_SUPPORTED Запрошенная операция не поддерживается или не запрашивается из обратного вызова предварительной операции.

Замечания

Минифильтр вызывает FltVetoBypassIo, когда он намерен вето на FS_BPIO_OP_ENABLE или FS_BPIO_OP_QUERY запрос в файле. Минифильтр должен вызывать эту подпрограмму только из обратного вызова перед операцией.

FltVetoBypassIo заполняет структуру, выделенной вызывающим FS_BPIO_OUTPUT, связанной с CallbackData с информацией, необходимой для вето запроса BypassIO. Вызывающий объект должен предоставить буфер, достаточно большой для хранения структуры.

FltVetoBypassIo регистрирует событие ETW со статусом, причиной фильтрации и именем фильтра.

Дополнительные сведения см. в разделе BypassIO для драйверов фильтров и поддержки операций BypassIO.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11
заголовка fltkernel.h
IRQL <= APC_LEVEL

См. также

FS_BPIO_INPUT

FS_BPIO_OPERATIONS

FS_BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO