ScsiPortFreeDeviceBase 函数 (srb.h)
ScsiPortFreeDeviceBase 例程使用 ScsiPortGetDeviceBase 释放以前映射到系统地址空间的设备 I/O 或内存空间地址范围。
注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序 和 Storport 微型端口 驱动程序模型。
语法
SCSIPORT_API VOID ScsiPortFreeDeviceBase(
[in] PVOID HwDeviceExtension,
[in] PVOID MappedAddress
);
参数
[in] HwDeviceExtension
指向硬件设备扩展的指针。 这是端口驱动程序代表微型端口驱动程序分配和初始化的每个 HBA 存储区域。 微型端口驱动程序通常在此扩展中存储特定于 HBA 的信息,例如 HBA 的状态和 HBA 的映射访问范围。 在微型端口驱动程序调用 ScsiPortInitialize 后,HBA 的设备对象的 DeviceExtension-HwDeviceExtension> 成员中,此区域可供微型端口驱动程序使用。 端口驱动程序在移除设备时释放此内存。
[in] MappedAddress
指向要释放的范围基址的指针。 此地址必须与 ScsiPortGetDeviceBase 返回的地址相同。
返回值
无
备注
如果微型端口驱动程序的 HwScsiFindAdapter 例程确定驱动程序不需要适配器的特定映射基址,则必须通过调用此例程来释放映射。 例如,当微型端口驱动程序确定特定 I/O 总线上没有受支持的 HBA 时,如果对此例程进行了任何调用,则必须使用 ScsiPortGetDeviceBase 返回的每个映射地址调用 ScsiPortFreeDeviceBase。
只能从微型端口驱动程序的 HwScsiFindAdapter 例程调用 ScsiPortFreeDeviceBase。 来自其他微型端口驱动程序例程的调用将导致系统故障或调用方操作不正确。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | srb.h (包括 Miniport.h、Scsi.h) |
Library | Scsiport.lib |