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 для адаптера.
Основной код
Входной буфер
Никакой.
Длина входного буфера
Никакой.
Выходной буфер
Обновленные сведения IO_SCSI_CAPABILITIES возвращаются в буфер по адресу Irp->AssociatedIrp.SystemBuffer.
Длина выходного буфера
Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода указывает размер буфера в байтах, который должен быть >= размер(IO_SCSI_CAPABILITIES).
Блок состояния
Поле сведений содержит количество байтов, возвращаемых в выходном буфере. Поле состояния указывает результаты операции.
Требования
Требование | Ценность |
---|---|
заголовка | ntddscsi.h (include Ntddscsi.h) |