Функция ScsiPortFreeDeviceBase (srb.h)
Подпрограмма ScsiPortFreeDeviceBase освобождает диапазон адресов ввода-вывода устройства или памяти, ранее сопоставленных с адресным пространством системы с помощью ScsiPortGetDeviceBase.
Синтаксис
SCSIPORT_API VOID ScsiPortFreeDeviceBase(
[in] PVOID HwDeviceExtension,
[in] PVOID MappedAddress
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства. Это область хранения для каждого адаптера, которую драйвер порта выделяет и инициализирует от имени драйвера мини-порта. Драйверы минипорта обычно хранят сведения, относящиеся к HBA, в этом расширении, например состояние адаптера шины и сопоставленные диапазоны доступа. Эта область доступна драйверу мини-порта в элементе DeviceExtension-HwDeviceExtension> объекта устройства HBA сразу после того, как драйвер минипорта вызывает ScsiPortInitialize. Драйвер порта освобождает эту память при удалении устройства.
[in] MappedAddress
Указатель на базовый адрес освобождаемого диапазона. Этот адрес должен совпадать с адресом, возвращенным ScsiPortGetDeviceBase.
Возвращаемое значение
None
Remarks
Если подпрограмма HwScsiFindAdapter драйвера мини-порта определяет, что драйверу не нужен определенный сопоставленный базовый адрес для адаптера, он должен освободить сопоставление, вызвав эту процедуру. Например, когда драйвер минипорта определяет, что в определенной шине ввода-вывода нет поддерживаемых адаптеров безопасности, он должен вызвать ScsiPortFreeDeviceBase с каждым сопоставленным адресом, возвращенным ScsiPortGetDeviceBase, если были выполнены какие-либо вызовы этой подпрограммы.
ScsiPortFreeDeviceBase можно вызывать только из подпрограммы HwScsiFindAdapter драйвера мини-порта. Вызовы из других подпрограмм драйвера минипорта приведут к сбою системы или неправильной работе вызывающего объекта.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | srb.h (включая Miniport.h, Scsi.h) |
Библиотека | Scsiport.lib |