// ntddscsi.h
// CTL_CODE(0x0004, 0x40f, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_MPIO_PASS_THROUGH_PATH 0x0004D03C
View the official Windows Driver Kit DDI referenceNo description available.
This I/O control code allows an application or kernel driver to send an SCSI command to a designated real LUN. The following restrictions apply to the use of this I/O control code:
Parameters.DeviceIoControl.InputBufferLength indicates the size, in bytes, of the buffer at Irp->AssociatedIrp.SystemBuffer.
The buffer must be at least sizeof(MPIO_PASS_THROUGH_PATH) or, if sent by a 32-bit application in a 64-bit operating system, sizeof(MPIO_PASS_THROUGH_PATH32).
The port driver returns any request-sense data and any data that is transferred from the device to the buffer at Irp->AssociatedIrp.SystemBuffer.
The SenseInfoLength and DataTransferLength members in the embedded SCSI_PASS_THROUGH structure are updated to indicate the amount of data that is transferred.
The Information field is set to the number of bytes returned in the output buffer at Irp->AssociatedIrp.SystemBuffer. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_BUFFER_TOO_SMALL or STATUS_INVALID_PARAMETER if the input Length value in the embedded SCSI_PASS_THROUGH is improperly set.