IOCTL_SCSI_GET_CAPABILITIES IOCTL (ntddscsi.h)

Возвращает возможности и ограничения базового адаптера SCSI. Наиболее важные сведения возвращаются в элементах MaximumTransferLength и AlignmentMask . Драйверы классов и пользователи IOCTL_SCSI_PASS_THROUGH и IOCTL_SCSI_PASS_THROUGH_DIRECT должны соблюдать эти ограничения.

Только устаревшие драйверы могут выдавать этот запрос. Запрос завершается ошибкой, если он отправляется в PDO, созданный драйвером порта.

Чтобы получить данные о возможностях SCSI, драйвер Plug and Play должен выдать IOCTL_STORAGE_QUERY_PROPERTY запрос на STORAGE_ADAPTER_DESCRIPTOR данные в PDO для каждого устройства, на которое был добавлен драйвер (т. е. для каждого устройства, для которого драйвер получил вызов AddDevice). Устаревший драйвер должен перенаправить этот запрос драйверу порта. Этот запрос завершается ошибкой, если он отправляется в FDO для адаптера.

Примечание В будущем модели драйвера портов SCSI и драйвера для минипорта SCSI могут быть изменены или недоступны. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
 

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Нет.

Длина входного буфера

Нет.

Выходной буфер

Обновленные IO_SCSI_CAPABILITIES сведения возвращаются в буфер по адресу Irp-AssociatedIrp.SystemBuffer>.

Длина выходного буфера

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода указывает размер буфера в байтах, который должен иметь >значение = sizeof(IO_SCSI_CAPABILITIES).

Блок состояния

Поле Information содержит количество байтов, возвращаемых в выходном буфере. В поле Состояние указываются результаты операции.

Требования

Требование Значение
Заголовок ntddscsi.h (включая Ntddscsi.h)

См. также раздел

IO_SCSI_CAPABILITIES