Funzione StorPortGetBusData (storport.h)
La routine StorPortGetBusData recupera le informazioni di configurazione specifiche del bus necessarie per inizializzare l'HBA.
Sintassi
STORPORT_API ULONG StorPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in, out] 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: Esegue, EisaConfiguration, Pos o PCIConfiguration. Tuttavia, in futuro saranno supportati altri tipi di configurazione del bus. Il limite superiore sui tipi supportati è sempre MaximumBusDataType.
[in] SystemIoBusNumber
Specifica il numero assegnato dal sistema del bus di I/O. La routine HwStorFindAdapter del driver miniport ottiene questo valore dal membro SystemIoBusNumber inizialmente impostato in 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, out] Buffer
Puntatore a un buffer o a un'area in cui vengono restituiti i dati di configurazione oppure, 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 oppure zero se il chiamante richiede al driver di porta specifico del sistema operativo di allocare un buffer per contenere i dati.
Valore restituito
StorPortGetBusData restituisce il numero di byte di informazioni di configurazione archiviate nel buffer. Quando l'input BusDataType è PCIConfiguration, StorPortGetBusData può restituire uno dei valori seguenti per indicare un errore.
Codice restituito | Descrizione |
---|---|
0 (zero) | Il bus PCI non esiste. |
2 | Il bus PCI esiste, ma non esiste alcun dispositivo in corrispondenza del valore pci SlotNumber specificato. Buffer contiene il valore PCI_INVALID_VENDOR_ID nel membro PCI_COMMON_CONFIG VendorId. |
Commenti
Un driver miniport può chiamare StorPortGetBusData dalle routine seguenti:
- Dalla routine di callback HwStorFindAdapter .
- Da HwStorAdapterControl solo quando controlType è ScsiSetRunningConfig.
Le chiamate da altre routine del driver miniport genereranno un errore di sistema o un'operazione non corretta per il chiamante.
I dati di configurazione restituiti da StorPortGetBusData sono validi solo fino a quando il driver miniport chiama nuovamente StorPortGetBusData . Non appena la routine HwStorFindAdapter del chiamante restituisce il controllo, tutti i dati di configurazione restituiti diventano non validi.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | storport.h (include Storport.h) |
Libreria | Storport.lib |