структура 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 OR 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
PathId для реального LUN. Это значение можно получить с помощью WMI-запроса для PDO_INFORMATION, связанного с реальным LUN. Это значение задается, только если задано 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