FltVetoBypassIo function (fltkernel.h)

FltVetoBypassIo retrieves information needed to veto a BypassIO request.

Syntax

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

Parameters

[in] CallbackData

Pointer to the FLT_CALLBACK_DATA for FSCTL_MANAGE_BYPASS_IO.

[in] FltObjects

Pointer to the FLT_RELATED_OBJECTS structure for the BypassIO operation.

[in] OperationStatus

The NTSTATUS error code provided by the filter for the veto.

[in] FailureReason

A unique, descriptive string that provides details about why the filter is vetoing the BypassIO enable request.

Return value

FltVetoBypassIo returns STATUS_SUCCESS upon successful completion; otherwise, it returns an NTSTATUS value such as one of the following.

Value Meaning
STATUS_BUFFER_TOO_SMALL The FSCTL's output buffer is too small.
STATUS_INVALID_BUFFER_SIZE The FSCTL's input buffer is too small.
STATUS_INVALID_PARAMETER_3 An appropriate error code was not provided.
STATUS_INVALID_PARAMETER_4 An appropriate failure reason was not provided.
STATUS_NOT_SUPPORTED The requested operation isn't supported or wasn't requested from a pre-op callback.

Remarks

A minifilter calls FltVetoBypassIo when it intends to veto a FS_BPIO_OP_ENABLE or FS_BPIO_OP_QUERY request on a file. A minifilter should only call this routine from its pre-operation callback.

FltVetoBypassIo fills in the caller-allocated FS_BPIO_OUTPUT structure associated with CallbackData with the information needed to veto the BypassIO request. The caller must provide a buffer that is large enough to hold the structure.

FltVetoBypassIo logs an ETW event with the status, filter-provided reason, and filter's name.

See BypassIO for filter drivers and Supporting BypassIO operations for more information.

Requirements

Requirement Value
Minimum supported client Windows 11
Header fltkernel.h
IRQL <= APC_LEVEL

See also

FS_BPIO_INPUT

FS_BPIO_OPERATIONS

FS_BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO