MPIO_PASS_THROUGH_PATH structure (ntddscsi.h)
The MPIO_PASS_THROUGH_PATH structure is used together with an IOCTL_MPIO_PASS_THROUGH_PATH request to instruct the port driver to send an embedded SCSI command to the target device.
Syntax
typedef struct _MPIO_PASS_THROUGH_PATH {
SCSI_PASS_THROUGH PassThrough;
ULONG Version;
USHORT Length;
UCHAR Flags;
UCHAR PortNumber;
ULONGLONG MpioPathId;
} MPIO_PASS_THROUGH_PATH, *PMPIO_PASS_THROUGH_PATH;
Members
PassThrough
Contains a SCSI_PASS_THROUGH structure that is set up in the same way as it is for an IOCTL_SCSI_PASS_THROUGH request.
Version
Set to zero.
Length
The size of the MPIO_PASS_THROUGH_PATH structure, in bytes.
Flags
Can be a mask of the following values:
- MPIO_IOCTL_FLAG_USE_SCSIADDRESS OR MPIO_IOCTL_FLAG_USE_PATHID
- MPIO_IOCTL_FLAG_INVOLVE_DSM
PortNumber
The port number if MPIO_IOCTL_FLAG_USE_SCSIADDRESS is set. Otherwise, this member is zero. If MPIO_IOCTL_FLAG_USE_SCSIADDRESS is set, the PathId and TargetId values are taken from the embedded SCSI_PASS_THROUGH structure.
MpioPathId
The PathId for the real LUN. This value can be obtained by using a WMI request for the PDO_INFORMATION that is associated with the real LUN. This value is set only if MPIO_IOCTL_FLAG_USE_PATHID is set.
Remarks
The MPIO_PASS_THROUGH_PATH structure is used for a double-buffered device control request. To bypass buffering in system memory, callers should use IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT. When the system handles an IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT request, it locks down the buffer in user memory, and the device accesses this memory directly.
Requirements
Requirement | Value |
---|---|
Header | ntddscsi.h (include Ntddscsi.h) |
See also
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT