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.
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 |
---|---|
|
Der PCI-Bus ist nicht vorhanden. |
|
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 |