Funzione SCSIPortGetBusData (srb.h)
La routine SCSIPortGetBusData restituisce informazioni di configurazione specifiche del bus di tipo bus che la routine HwScsiFindAdapter di un driver miniport può usare per determinare se supporta una determinata scheda in un particolare bus di I/O e per configurare l'HBA se lo fa.
Sintassi
SCSIPORT_API ULONG ScsiPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Length
);
Parametri
[in] DeviceExtension
Puntatore all'area di archiviazione per-HBA del driver miniport.
[in] BusDataType
Contiene un valore di tipo BUS_DATA_TYPE che specifica il tipo di dati di configurazione specifici del bus da restituire. Attualmente, questo valore può essere uno dei seguenti: Cmos, EisaConfiguration, Pos o PCIConfiguration. Tuttavia, altri tipi di configurazione del bus saranno supportati in futuro. Il limite superiore sui tipi supportati è sempre MaximumBusDataType.
[in] SystemIoBusNumber
Specifica il numero assegnato dal sistema del bus di I/O. La routine HwScsiFindAdapter del driver miniport ottiene questo valore dal membro systemIoBusNumber di input PORT_CONFIGURATION_INFORMATION.
[in] SlotNumber
Specifica il numero di slot logico o la posizione del dispositivo.
Se PCIConfiguration viene specificato come BusDataType, questo parametro deve essere specificato come valore di tipo PCI_SLOT_NUMBER.
[in] Buffer
Puntatore a un buffer o a un'area a cui vengono restituiti i dati di configurazione o, se la lunghezza specificata è zero, punta a una posizione a cui il driver di porta specifico del sistema operativo restituisce un puntatore a un buffer allocato.
[in] Length
Specifica il numero massimo di byte da restituire in Buffer o zero se il chiamante richiede il driver di porta specifico del sistema operativo per allocare un buffer per contenere i dati.
Valore restituito
SCSIPortGetBusData restituisce il numero di byte delle informazioni di configurazione archiviate nel buffer. Quando l'input BusDataType è PCIConfiguration, SCSIPortGetBusData può restituire uno dei valori seguenti per indicare un errore.
Codice restituito | Descrizione |
---|---|
|
Il bus PCI non esiste. |
|
Il bus PCI esiste, ma non esiste alcun dispositivo in corrispondenza dello SlotNumber PCI specificato. Il buffer contiene il valore PCI_INVALID_VENDOR_ID nel membro vendorId PCI_COMMON_CONFIG. |
Commenti
SCSIPortGetBusData può essere chiamato solo da una routine HwScsiFindAdapter di un driver miniport o da HwScsiAdapterControl quando il tipo di controllo è SCSISetRunningConfig. Le chiamate da altre routine del driver miniport causano un errore di sistema o un'operazione errata per il chiamante.
I dati di configurazione restituiti da SCSIPortGetBusData sono validi solo finché il driver miniport chiama nuovamente SCSIPortGetBusData . Non appena la routine HwScsiFindAdapter del chiamante restituisce il controllo, i dati di configurazione restituiti non diventano validi.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | srb.h (include Miniport.h, SCSI.h) |
Libreria | Scsiport.lib |