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
指定 Buffer 处存储区域中的字节数。
返回值
ScsiPortSetBusDataByOffset 返回为给定 SlotNumber 成功设置的数据字节数。 如果给定的 BusDataType 对当前平台无效,或者提供的信息无效, 则 ScsiPortSetBusDataByOffset 将返回零。
注解
PCI 总线上 HBA 的微型端口驱动程序很少调用 ScsiPortSetBusDataByOffset ,除非异常情况或特定驱动程序 HBA 的性质需要此类调用。 例如,如果微型端口驱动程序在初始化期间指示目标中止,则微型端口驱动程序可能会调用 ScsiPortSetBusDataByOffset 来清除 PCI 状态寄存器中的某个位,或者为 HBA 设置特定于设备的配置数据。
当控件类型为 ScsiSetRunningConfig 时,只能从微型端口驱动程序的 HwScsiFindAdapter 例程或 HwScsiAdapterControl 调用 ScsiPortSetBusDataByOffset。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | srb.h (包括 Miniport.h、Scsi.h) |
Library | Scsiport.lib |