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

指定 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

另请参阅

HalSetBusDataByOffset

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)

ScsiPortGetBusData