Поделиться через


IOCTL_SCSI_GET_CAPABILITIES IOCTL (ntddscsi.h)

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

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

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

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

Никакой.

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

Никакой.

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

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

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

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

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

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

Требования

Требование Ценность
заголовка ntddscsi.h (include Ntddscsi.h)

См. также

IO_SCSI_CAPABILITIES