MPIO_PASS_THROUGH_PATH_DIRECT_EX structure (ntddscsi.h)

The MPIO_PASS_THROUGH_PATH_DIRECT_EX structure is used together with an IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX request to instruct the port driver to send an embedded SCSI command to the target device.

Syntax

typedef struct _MPIO_PASS_THROUGH_PATH_DIRECT_EX {
  ULONG     PassThroughOffset;
  ULONG     Version;
  USHORT    Length;
  UCHAR     Flags;
  UCHAR     PortNumber;
  ULONGLONG MpioPathId;
} MPIO_PASS_THROUGH_PATH_DIRECT_EX, *PMPIO_PASS_THROUGH_PATH_DIRECT_EX;

Members

PassThroughOffset

The offset from the beginning of this structure to a SCSI_PASS_THROUGH_DIRECT_EX structure that is configured in the same manner as it is for an IOCTL_SCSI_PASS_THROUGH_DIRECT_EX request.

Version

Set to zero.

Length

The size of the MPIO_PASS_THROUGH_PATH_DIRECT_EX 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_DIRECT_EX 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

Note

All 32-bit processes running on a 64-bit version of Windows must use the MPIO_PASS_THROUGH_PATH_DIRECT32_EX structure when issuing an IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX request.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 8.
Header ntddscsi.h (include Ntddscsi.h)

See also

IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX

IOCTL_SCSI_PASS_THROUGH_DIRECT_EX

SCSI_PASS_THROUGH_DIRECT_EX

STORAGE_REQUEST_BLOCK