Команда SC_RESCAN_SCSI_BUS
Иногда происходят различные сбои оборудования. Полученные ранее данные об устройствах в системе оказываются неточными после перезагрузки, и программа будет некорректно работать. Нарушение таблицы размещения адресов на шине контроллера может произойти и по другим причинам. Команда управления ASPI SC_RESCAN_SCSI_BUS позволяет просканировать SCSI-шину указанного контроллера и восстановить таблицу адресов устройств. Для поддержки этой команды используется структура SRB_RescanPort.
Опишу поля структуры подробнее.
- SRB_Cmd
Это поле должно содержать код команды SC_RESCAN_SCSI_BUS.
- SRB_Status
После выполнения команды здесь будет храниться результат вызова функции SendASPi32command. Ниже приведены возможные значения.
- SS_COMP — операция успешно завершена.
- SS_INVALID_HA — попытка использовать недопустимый (пустой) номер контроллера.
- SRB_HaId
Сюда нужно поместить номер выбранного контроллера. Нумерация начинается с 0.
- SRB_Flags
Это поле зарезервировано и должно быть установлено в 0.
- SRB_Hdr_Rsvd
Это поле зарезервировано и должно быть установлено в 0.
В Windows NT система не сканирует повторно шину контроллера. При работе в Windows 95 выполнение команды пересканирования может занять некоторое время. Следующий пример выполняет пересканирование SCSI-шины, расположенной на контроллере под номером 0:
Листинг 2.14. Пример использования команды SC_RESCAN_SCSI_BUS на Visual C++
Теперь приведем код повторного сканирования шины для Visual Basic:
Листинг 2.15. Пример использования команды SC_RESCAN_SCSI_BUS на Visual Basic
В данном примере функция RescanBus сканирует шину SCSI, расположенную на контроллере под номером 0. Осталось рассмотреть одну, самую последнюю команду, используемую в функции интерфейса ASPI для установки времени ожидания.
2021-04-01
Google сообщил о запуске проекта Dunant
Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...
подробнее2020-04-06
Новшества в обновленной Windows 10
Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...
подробнее