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
指向FSCTL_MANAGE_BYPASS_IO FLT_CALLBACK_DATA的指针。
[in] FltObjects
指向 BypassIO 操作 FLT_RELATED_OBJECTS 结构的指针。
[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 | 请求的操作不受支持或未从操作前回调请求。 |
注解
当微筛选器打算对文件否决FS_BPIO_OP_ENABLE或FS_BPIO_OP_QUERY请求时,它会调用 FltVetoBypassIo。 微筛选器只应从其操作前回调调用此例程。
FltVetoBypassIo 使用否决 BypassIO 请求所需的信息填充与 CallbackData 关联的调用方分配的FS_BPIO_OUTPUT结构。 调用方必须提供足以容纳 结构的缓冲区。
FltVetoBypassIo 使用状态、筛选器提供的原因和筛选器的名称记录 ETW 事件。
有关详细信息,请参阅有关筛选器驱动程序的 BypassIO 和支持 BypassIO 操作。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 |
标头 | fltkernel.h |
IRQL | <= APC_LEVEL |