Freigeben über


ScsiPortSetBusDataByOffset-Funktion (srb.h)

Die ScsiPortSetBusDataByOffset-Routine legt Buskonfigurationsdaten für einen Adapter auf einem dynamisch konfigurierbaren E/A-Bus mit einer veröffentlichten Standardschnittstelle fest.

Hinweis Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
 

Syntax

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
);

Parameter

[in] DeviceExtension

Zeiger auf die Geräteerweiterung des Miniporttreibers.

[in] BusDataType

Enthält einen Wert vom Typ BUS_DATA_TYPE , der den Typ der festzulegenden Busdaten angibt. Derzeit kann der Wert PCIConfiguration sein. In Zukunft werden jedoch weitere Typen von standardisierten, dynamisch konfigurierbaren Bussen unterstützt. Die Obergrenze für die unterstützten Bustypen ist immer MaximumBusDataType.

[in] SystemIoBusNumber

Gibt die systemseitig zugewiesene Nummer des E/A-Busses an, mit dem der HBA verbunden ist. Die HwScsiFindAdapter-Routine des Miniporttreibers ruft diesen Wert aus der Eingabe PORT_CONFIGURATION_INFORMATION SystemIoBusNumber-Member ab.

[in] SlotNumber

Gibt die logische Slotnummer des HBA an.

Wenn PCIConfiguration als BusDataType angegeben wird, muss dieser Parameter als PCI_SLOT_NUMBER-type-Wert angegeben werden.

[in] Buffer

Zeiger auf einen vom Anrufer bereitgestellten Speicherbereich mit spezifischen Konfigurationsinformationen für BusDataType.

Wenn PCIConfiguration angegeben wird, enthält der Puffer einige oder alle der PCI_COMMON_CONFIG Informationen für die angegebene SlotNumber. Der angegebene Offset und die angegebene Länge bestimmen, wie viele Informationen bereitgestellt werden.

[in] Offset

Gibt den Byteoffset innerhalb der PCI_COMMON_CONFIG-Struktur an, an der die vom Aufrufer bereitgestellten Konfigurationswerte beginnen. Ein Miniporttreiber kann PCI_COMMON_HDR_LENGTH verwenden, um den Offset des gerätespezifischen Bereichs in PCI_COMMON_CONFIG anzugeben.

[in] Length

Gibt die Anzahl der Bytes im Speicherbereich unter Puffer an.

Rückgabewert

ScsiPortSetBusDataByOffset gibt die Anzahl der Bytes zurück, die erfolgreich für die angegebene SlotNumber festgelegt wurden. Wenn der angegebene BusDataType für die aktuelle Plattform ungültig ist oder die bereitgestellten Informationen ungültig sind, gibt ScsiPortSetBusDataByOffset null zurück.

Hinweise

Miniporttreiber von HBAs auf einem PCI-Bus rufen selten ScsiPortSetBusDataByOffset auf, es sei denn, ungewöhnliche Umstände oder die Art des HBA eines bestimmten Fahrers erfordern einen solchen Anruf. Beispielsweise kann ein Miniporttreiber ScsiPortSetBusDataByOffset aufrufen, um ein Bit im PCI-status registrieren zu löschen, wenn sein HBA einen Zielabbruch während der Initialisierung signalisiert oder gerätespezifische Konfigurationsdaten für den HBA festlegen soll.

ScsiPortSetBusDataByOffset kann nur über die HwScsiFindAdapter-Routine des Miniporttreibers oder über HwScsiAdapterControl aufgerufen werden, wenn der Steuerelementtyp ScsiSetRunningConfig ist.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile srb.h (einschließlich Miniport.h, Scsi.h)
Bibliothek Scsiport.lib

Weitere Informationen

HalSetBusDataByOffset

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)

ScsiPortGetBusData