ScsiPortSetBusDataByOffset 函数 (srb.h)
ScsiPortSetBusDataByOffset 例程为具有已发布标准接口的动态可配置 I/O 总线上的适配器设置总线配置数据。
语法
SCSIPORT_API ULONG ScsiPortSetBusDataByOffset(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
参数
[in] DeviceExtension
指向微型端口驱动程序的设备扩展的指针。
[in] BusDataType
包含 BUS_DATA_TYPE 类型的值,该值指定要设置的总线数据类型。 目前,其值可以 PCIConfiguration。 但是,将来将支持其他类型的标准化动态可配置总线。 支持的总线类型的上限始终 MaximumBusDataType。
[in] SystemIoBusNumber
指定 HBA 所连接的 I/O 总线的系统分配数。 微型端口驱动程序的 HwScsiFindAdapter 例程从输入PORT_CONFIGURATION_INFORMATION SystemIoBusNumber 成员获取此值。
[in] SlotNumber
指定 HBA 的逻辑槽号。
当 PCIConfiguration 指定为 BusDataType时,此参数必须指定为PCI_SLOT_NUMBER类型值。
[in] Buffer
指向调用方提供的存储区域的指针,其中包含特定于 BusDataType的配置信息。
指定 PCIConfiguration 时,缓冲区包含给定 SlotNumber的部分或全部PCI_COMMON_CONFIG信息。 指定的 偏移量 和 长度 确定提供的信息量。
[in] Offset
指定调用方提供的配置值的开始PCI_COMMON_CONFIG结构中的字节偏移量。 微型端口驱动程序可以使用PCI_COMMON_HDR_LENGTH来指定PCI_COMMON_CONFIG中特定于设备的区域的偏移量。
[in] Length
指定 缓冲区存储区域中的字节数。
返回值
ScsiPortSetBusDataByOffset 返回为给定 的 slotnumber成功设置的数据字节数。 如果给定 BusDataType 对当前平台无效,或者所提供的信息无效,ScsiPortSetBusDataByOffset 返回零。
言论
PCI 总线上 HBA 的微型端口驱动程序很少调用 ScsiPortSetBusDataByOffset,除非异常情况或特定驱动程序 HBA 的性质需要此类呼叫。 例如,微型端口驱动程序可能会调用 ScsiPortSetBusDataByOffset,以清除 PCI 状态寄存器中的某个位(如果其 HBA 在初始化期间发出目标中止信号或设置 HBA 的设备特定的配置数据)。
ScsiPortSetBusDataByOffset 只能从微型端口驱动程序的 HwScsiFindAdapter 例程或从 HwScsiAdapterControl 调用控制类型 ScsiSetRunningConfig。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | srb.h (包括 Miniport.h、Scsi.h) |
库 | Scsiport.lib |