IOCTL_STORAGE_MANAGE_BYPASS_IO IOCTL (ntddstor.h)

The IOCTL_STORAGE_MANAGE_BYPASS_IO control code controls BypassIO operations on a given file in all layers of the volume and storage stacks.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

The buffer at Irp->AssociatedIrp.SystemBuffer contains a BPIO_INPUT structure with information related to a BypassIO request.

Input buffer length

Parameters.DeviceIoControl.InputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the buffer, which must be at least sizeof(BPIO_INPUT).

Output buffer

The driver returns information in a BPIO_OUTPUT structure in the buffer at Irp->AssociatedIrp.SystemBuffer.

Output buffer length

Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location of the IRP indicates the size of the output buffer, in bytes. OutputBufferLength must be at least sizeof(BPIO_OUTPUT).

Status block

The Status field can be set to STATUS_SUCCESS, or an error status such as STATUS_INVALID_PARAMETER, STATUS_INFO_LENGTH_MISMATCH, STATUS_BUFFER_TOO_SMALL, or STATUS_NOT_SUPPORTED.

Remarks

Only file systems send IOCTL_STORAGE_MANAGE_BYPASS_IO. A file system sends this IOCTL as appropriate in response to a FSCTL_MANAGE_BYPASS_IO control code.

See BypassIO for storage drivers for more information.

Requirements

   
Minimum supported client Windows 11
Header ntddstor.h

See also

BPIO_INPUT

BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO