Funzione StorPortGetUncachedExtension (storport.h)
La routine StorPortGetUncachedExtension alloca un buffer comune non memorizzato nella cache da condividere dalla CPU e dal dispositivo.
Sintassi
STORPORT_API PVOID StorPortGetUncachedExtension(
PVOID HwDeviceExtension,
PPORT_CONFIGURATION_INFORMATION ConfigInfo,
ULONG NumberOfBytes
);
Parametri
HwDeviceExtension
Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione hbA per ogni area di archiviazione che il driver di porta alloca e inizializza per conto del driver miniport. I driver Miniport archivia in genere informazioni specifiche dell'HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati per l'HBA. Questa area è disponibile per il driver miniport subito dopo che il driver miniport chiama StorPortInitialize. Il driver della porta libera questa memoria quando rimuove il dispositivo.
ConfigInfo
Specifica informazioni sulle funzionalità DMA dell'HBA. I membri seguenti devono essere compilati: DmaChannel o DmaPort, DmaWidth, DmaSpeed, MaximumTransferLength, ScatterGather, Master impostato su TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense e SrbExtensionSize.
I membri che non sono pertinenti all'HBA, ad esempio DmaChannel per un adattatore bus-master EISA, devono essere lasciati così com'è.
NumberOfBytes
Dimensione necessaria, in byte, dell'estensione non memorizzata nella cache da allocare.
Valore restituito
StorPortGetUncachedExtension restituisce un puntatore di indirizzo virtuale all'estensione non memorizzata nella cache. Se non è in grado di allocare la memoria richiesta, restituisce NULL. Se la memoria è stata allocata in precedenza, viene restituito il puntatore dell'indirizzo virtuale all'estensione non memorizzata nella cache corrente.
Commenti
I dispositivi bus-master usano lo spazio buffer comune per i trasferimenti DMA.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | storport.h (include Storport.h) |
Libreria | Storport.lib |