Freigeben über


ScsiPortGetBusData-Funktion (srb.h)

Die ScsiPortGetBusData- Routine gibt bustypspezifische Konfigurationsinformationen zurück, die ein Miniporttreiber HwScsiFindAdapter Routine verwenden kann, um festzustellen, ob er einen bestimmten Adapter für einen bestimmten E/A-Bus unterstützt, und 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 empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

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

Zeigen Sie auf den Speicherbereich des Miniporttreibers pro HBA.

[in] BusDataType

Enthält einen Wert vom Typ BUS_DATA_TYPE, der den Typ der busspezifischen Konfigurationsdaten angibt, die zurückgegeben werden sollen. Dieser Wert kann derzeit einer der folgenden sein: , EisaConfiguration, Posoder PCIConfiguration. In Zukunft werden jedoch zusätzliche Buskonfigurationstypen unterstützt. Die obere Grenze der unterstützten Typen wird immer MaximumBusDataType.

[in] SystemIoBusNumber

Gibt die vom System zugewiesene Nummer des E/A-Busses an. Die HwScsiFindAdapter Routine des Miniporttreibers ruft diesen Wert aus dem Eingabeelement PORT_CONFIGURATION_INFORMATION SystemIoBusNumber Member ab.

[in] SlotNumber

Gibt die nummer oder die Position des Geräts an.

Wenn PCIConfiguration- als BusDataType-angegeben wird, muss dieser Parameter als wert vom Typ PCI_SLOT_NUMBER angegeben werden.

[in] Buffer

Zeiger auf einen Puffer oder Bereich, an den die Konfigurationsdaten zurückgegeben werden, oder zeigt, wenn die angegebene Length null ist, auf einen Speicherort, an dem der betriebssystemspezifische Porttreiber einen Zeiger auf einen Puffer zurückgibt, den er zuweist.

[in] Length

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

Rückgabewert

ScsiPortGetBusData- gibt die Anzahl der im Puffer gespeicherten Konfigurationsinformationen zurück. Wenn der EingabebusDataType PCIConfiguration ist, kann ScsiPortGetBusData einen der folgenden Werte zurückgeben, um einen Fehler anzuzeigen.

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 SlotNumber. Die Buffer- enthält den Wert PCI_INVALID_VENDOR_ID PCI_COMMON_CONFIG VendorId Member.

Bemerkungen

ScsiPortGetBusData- kann nur von der HwScsiFindAdapter-Routine eines Miniporttreibers oder von HwScsiAdapterControl aufgerufen werden, wenn der Steuerelementtyp ScsiSetRunningConfigist. Anrufe von anderen Miniporttreiberroutinen führen zu Systemfehlern oder falschen Vorgängen für den Anrufer.

Konfigurationsdaten, die von ScsiPortGetBusData- zurückgegeben werden, sind nur gültig, bis der Miniporttreiber ScsiPortGetBusData erneut aufruft. Sobald die HwScsiFindAdapter des Aufrufers Routine die Steuerung zurückgibt, werden alle zurückgegebenen Konfigurationsdaten ungültig.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- srb.h (include Miniport.h, Scsi.h)
Library Scsiport.lib

Siehe auch

HwScsiFindAdapter-

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)-