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를 호출합니다. 미니필터는 사전 작업 콜백에서만 이 루틴을 호출해야 합니다.

FltVetoBypassIoCallbackData와 연결된 호출자가 할당한 FS_BPIO_OUTPUT 구조를 BypassIO 요청을 거부하는 데 필요한 정보로 채웁니다. 호출자는 구조를 보유할 수 있을 만큼 큰 버퍼를 제공해야 합니다.

FltVetoBypassIo는 상태 필터 제공 이유 및 필터 이름으로 ETW 이벤트를 기록합니다.

자세한 내용은 필터 드라이버에 대한 BypassIOBypassIO 작업 지원을 참조하세요 .

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 11
머리글 fltkernel.h
IRQL <= APC_LEVEL

추가 정보

FS_BPIO_INPUT

FS_BPIO_OPERATIONS

FS_BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO