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