Expand Minimize

ScsiPortSetBusDataByOffset routine

The ScsiPortSetBusDataByOffset routine sets bus-configuration data for an adapter on a dynamically configurable I/O bus with a published, standard interface.

Syntax


ULONG ScsiPortSetBusDataByOffset(
  _In_  PVOID DeviceExtension,
  _In_  ULONG BusDataType,
  _In_  ULONG SystemIoBusNumber,
  _In_  ULONG SlotNumber,
  _In_  PVOID Buffer,
  _In_  ULONG Offset,
  _In_  ULONG Length
);

Parameters

DeviceExtension [in]

Pointer to the miniport driver's device extension.

BusDataType [in]

Contains a value of type BUS_DATA_TYPE that specifies the type of bus data to be set. Currently, its value can be PCIConfiguration. However, additional types of standardized, dynamically configurable buses will be supported in future. The upper bound on the bus types supported is always MaximumBusDataType.

SystemIoBusNumber [in]

Specifies the system-assigned number of the I/O bus on which the HBA is connected. The miniport driver's HwScsiFindAdapter routine obtains this value from the input PORT_CONFIGURATION_INFORMATION SystemIoBusNumber member.

SlotNumber [in]

Specifies the logical slot number of the HBA.

When PCIConfiguration is specified as the BusDataType, this parameter must be specified as a PCI_SLOT_NUMBER-type value.

Buffer [in]

Pointer to a caller-supplied storage area with configuration information specific to BusDataType.

When PCIConfiguration is specified, the buffer contains some or all of the PCI_COMMON_CONFIG information for the given SlotNumber. The specified Offset and Length determine how much information is supplied.

Offset [in]

Specifies the byte offset within the PCI_COMMON_CONFIG structure at which the caller-supplied configuration values begin. A miniport driver can use PCI_COMMON_HDR_LENGTH to specify the offset of the device-specific area in PCI_COMMON_CONFIG.

Length [in]

Specifies the number of bytes in the storage area at Buffer.

Return value

ScsiPortSetBusDataByOffset returns the number of bytes of data successfully set for the given SlotNumber. If the given BusDataType is not valid for the current platform or if the supplied information is invalid, ScsiPortSetBusDataByOffset returns zero.

Remarks

Miniport drivers of HBAs on a PCI bus seldom call ScsiPortSetBusDataByOffset unless unusual circumstances or the nature of a particular driver's HBA requires such a call. For example, a miniport driver might call ScsiPortSetBusDataByOffset to clear a bit in the PCI status register if its HBA signals a target abort during initialization or to set device-specific configuration data for the HBA.

ScsiPortSetBusDataByOffset can be called only from the miniport driver's HwScsiFindAdapter routine or from HwScsiAdapterControl when the control type is ScsiSetRunningConfig.

Requirements

Header

Srb.h (include Miniport.h or Scsi.h)

Library

Scsiport.lib

See also

HalSetBusDataByOffset
HwScsiFindAdapter
PCI_COMMON_CONFIG
PCI_SLOT_NUMBER
PORT_CONFIGURATION_INFORMATION (SCSI)
ScsiPortGetBusData

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft