структура 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

IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT

IOCTL_SCSI_PASS_THROUGH

IOCTL_SCSI_PASS_THROUGH_DIRECT

SCSI_PASS_THROUGH_DIRECT

SCSI_REQUEST_BLOCK