Freigeben über


ScsiPortGetBusData-Funktion (srb.h)

Die ScsiPortGetBusData-Routine gibt bustypspezifische Konfigurationsinformationen zurück, die die HwScsiFindAdapter-Routine eines Miniporttreibers möglicherweise verwendet, um zu bestimmen, ob sie einen bestimmten Adapter auf einem bestimmten E/A-Bus unterstützt, und um den HBA zu konfigurieren, falls dies der Fall ist.

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 ScsiPortGetBusData(
  [in] PVOID DeviceExtension,
  [in] ULONG BusDataType,
  [in] ULONG SystemIoBusNumber,
  [in] ULONG SlotNumber,
  [in] PVOID Buffer,
  [in] ULONG Length
);

Parameter

[in] DeviceExtension

Zeiger auf den HBA-Speicherbereich des Miniporttreibers.

[in] BusDataType

Enthält einen Wert vom Typ BUS_DATA_TYPE , der den Typ der busspezifischen Konfigurationsdaten angibt, die zurückgegeben werden sollen. Derzeit kann dieser Wert einer der folgenden Werte sein: Cmos, EisaConfiguration, Pos oder PCIConfiguration. In Zukunft werden jedoch zusätzliche Buskonfigurationstypen unterstützt. Die Obergrenze für die unterstützten Typen ist immer MaximumBusDataType.

[in] SystemIoBusNumber

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

[in] SlotNumber

Gibt die Nummer oder den Speicherort des logischen Steckplatzes des Geräts an.

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

[in] Buffer

Zeiger auf einen Puffer oder Bereich, auf den die Konfigurationsdaten zurückgegeben werden, oder, wenn die angegebene Länge 0 ist, zeigt auf eine Position, an der der betriebssystemspezifische Porttreiber einen Zeiger auf einen Puffer zurückgibt, den er ordnet.

[in] Length

Gibt die maximale Anzahl von Bytes an, die bei Puffer zurückgegeben werden sollen, oder null, wenn der Aufrufer den betriebssystemspezifischen Porttreiber benötigt, um einen Puffer zuzuweisen, der die Daten enthält.

Rückgabewert

ScsiPortGetBusData gibt die Anzahl der Bytes von Konfigurationsinformationen zurück, die im Puffer gespeichert wurden. Wenn die Eingabe BusDataType PCIConfiguration ist, kann ScsiPortGetBusData einen der folgenden Werte zurückgeben, um einen Fehler anzugeben.

Rückgabecode Beschreibung
0 (Null)
Der PCI-Bus ist nicht vorhanden.
2
Der PCI-Bus ist vorhanden, aber es gibt kein Gerät an der angegebenen PCI-SlotNummer. Der Puffer enthält den Wert PCI_INVALID_VENDOR_ID am PCI_COMMON_CONFIG VendorId-Member .

Hinweise

ScsiPortGetBusData kann nur aus der HwScsiFindAdapter-Routine eines Miniporttreibers oder von HwScsiAdapterControl aufgerufen werden, wenn der Steuerelementtyp ScsiSetRunningConfig ist. Anrufe von anderen Miniporttreiberroutinen führen zu Systemfehlern oder zu einem falschen Betrieb für den Aufrufer.

Von ScsiPortGetBusData zurückgegebene Konfigurationsdaten sind nur gültig, bis der Miniporttreiber ScsiPortGetBusData erneut aufruft . Sobald die HwScsiFindAdapter-Routine des Aufrufers das Steuerelement zurückgibt, werden alle zurückgegebenen Konfigurationsdaten ungültig.

Anforderungen

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

Weitere Informationen

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)