MPIO_PASS_THROUGH_PATH 结构 (ntddscsi.h)

MPIO_PASS_THROUGH_PATH 结构与IOCTL_MPIO_PASS_THROUGH_PATH请求一起使用,以指示端口驱动程序将嵌入式 SCSI 命令发送到目标设备。

语法

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;

成员

PassThrough

包含一个 SCSI_PASS_THROUGH 结构,其设置方式与为 IOCTL_SCSI_PASS_THROUGH 请求设置的方式相同。

Version

设置为零。

Length

MPIO_PASS_THROUGH_PATH 结构的大小(以字节为单位)。

Flags

可以是以下值的掩码:

  • MPIO_IOCTL_FLAG_USE_SCSIADDRESS或MPIO_IOCTL_FLAG_USE_PATHID
  • MPIO_IOCTL_FLAG_INVOLVE_DSM

PortNumber

如果设置了MPIO_IOCTL_FLAG_USE_SCSIADDRESS,则为端口号。 否则,此成员为零。 如果设置了MPIO_IOCTL_FLAG_USE_SCSIADDRESS, 则 PathIdTargetId 值取自嵌入 的 SCSI_PASS_THROUGH 结构。

MpioPathId

实际 LUN 的 PathId 。 可以通过对与实际 LUN 关联的PDO_INFORMATION使用 WMI 请求来获取此值。 仅当设置了MPIO_IOCTL_FLAG_USE_PATHID时才设置此值。

注解

MPIO_PASS_THROUGH_PATH 结构用于双缓冲设备控制请求。 若要绕过系统内存中的缓冲,调用方应使用 IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT。 当系统处理 IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT 请求时,它会锁定用户内存中的缓冲区,并且设备会直接访问此内存。

要求

要求
Header ntddscsi.h (包括 Ntddscsi.h)

另请参阅

IOCTL_MPIO_PASS_THROUGH_PATH

IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT

IOCTL_SCSI_PASS_THROUGH

IOCTL_SCSI_PASS_THROUGH_DIRECT

SCSI_PASS_THROUGH_DIRECT

SCSI_REQUEST_BLOCK