StorPortGetBusData 函数 (storport.h)
StorPortGetBusData 例程检索初始化 HBA 所需的特定于总线的配置信息。
语法
STORPORT_API ULONG StorPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in, out] PVOID Buffer,
[in] ULONG Length
);
参数
[in] DeviceExtension
指向微型端口驱动程序的每 HBA 存储区域的指针。
[in] BusDataType
包含 BUS_DATA_TYPE 类型的值,该值指定要返回的特定于总线的配置数据类型。 目前,此值可以是下列值之一:、EisaConfiguration、Pos或 PCIConfiguration。 但是,将来将支持其他类型的总线配置。 支持的类型的上限始终 MaximumBusDataType。
[in] SystemIoBusNumber
指定 I/O 总线的系统分配编号。 微型端口驱动程序的 HwStorFindAdapter 例程从最初在 PORT_CONFIGURATION_INFORMATION中设置的 SystemIoBusNumber 成员获取此值。
[in] SlotNumber
指定设备的逻辑槽号或位置。
如果 PCIConfiguration 指定为 BusDataType,则必须将此参数指定为PCI_SLOT_NUMBER类型值。
[in, out] Buffer
指向返回配置数据的缓冲区或区域的指针;如果给定的 长度 为零,则指向特定于 OS 的端口驱动程序返回指向其分配的缓冲区的指针的位置。
[in] Length
指定要在 缓冲区返回的最大字节数,如果调用方要求特定于 OS 的端口驱动程序分配缓冲区以包含数据,则为零。
返回值
StorPortGetBusData 返回存储在缓冲区中的配置信息的字节数。 当 BusDataTypePCIConfiguration时,StorPortGetBusData 可以返回以下任一值来指示错误。
返回代码 | 描述 |
---|---|
0 (零) | PCI 总线不存在。 |
2 | PCI 总线存在,但给定的 PCI SlotNumber上没有设备。 Buffer 包含PCI_COMMON_CONFIG VendorId 成员处的值PCI_INVALID_VENDOR_ID。 |
言论
微型端口驱动程序可以从以下例程调用 StorPortGetBusData:
- 从其 HwStorFindAdapter 回调例程。
- 仅当 ControlTypeScsiSetRunningConfig时,才会从其 HwStorAdapterControl。
来自其他微型端口驱动程序例程的调用将导致系统故障或调用方作不正确。
StorPortGetBusData 返回的配置数据仅在微型端口驱动程序再次调用 StorPortGetBusData 之前有效。 调用方 HwStorFindAdapter 例程返回控制后,任何返回的配置数据就会失效。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | storport.h (包括 Storport.h) |
库 | Storport.lib |