ScsiPortSetBusDataByOffset 函数 (srb.h)

ScsiPortSetBusDataByOffset 例程为具有已发布标准接口的动态可配置 I/O 总线上的适配器设置总线配置数据。

注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序Storport 微型端口 驱动程序模型。
 

语法

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

另请参阅

HalSetBusDataByOffset

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)

ScsiPortGetBusData