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,则会从嵌入式 SCSI_PASS_THROUGH 结构中获取 PathId 和 TargetId 值。
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 请求时,它会锁定用户内存中的缓冲区,并且设备直接访问此内存。
要求
要求 | 价值 |
---|---|
标头 | ntddscsi.h (包括 Ntddscsi.h) |
另请参阅
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT