Condividi tramite


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.

Nota I modelli di driver di porta SCSI e miniport SCSI possono essere modificati o non disponibili in futuro. È invece consigliabile usare i modelli di driver Storport e Miniport Storport.
 

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
0 (zero)
Il bus PCI non esiste.
2
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

Vedi anche

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)