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, 则 PathId 和 TargetId 值取自嵌入 的 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_DIRECT