Condividi tramite


Funzione AtaPortGetUnCachedExtension (irb.h)

La routine AtaPortGetUncachedExtension alloca un buffer comune non memorizzato nella cache condiviso dalla CPU e dal dispositivo.

Nota I modelli di driver di porta ATA e miniport ATA potrebbero essere modificati o non disponibili in futuro. È invece consigliabile usare driver Storport e modelli di driver miniport Storport.
 

Sintassi

PVOID AtaPortGetUnCachedExtension(
  [in] PVOID ChannelExtension,
  [in] ULONG UncachedExtensionSize,
  [in] ULONG IrbExtensionSize
);

Parametri

[in] ChannelExtension

Puntatore all'estensione del canale.

[in] UncachedExtensionSize

Specifica la lunghezza, in byte, del buffer comune non memorizzato nella cache. Impostare questo parametro su 0 se il driver miniport non richiede un'estensione non memorizzata nella cache.

[in] IrbExtensionSize

Specifica le dimensioni, in byte, richieste dal driver miniport per ogni risorsa di archiviazione richiesta, se presenti.

Impostare questo parametro su 0 se il driver miniport non mantiene le informazioni per IRB per cui richiede l'archiviazione.

Valore restituito

AtaPortGetUncachedExtension restituisce un puntatore di indirizzo virtuale all'estensione non memorizzata nella cache. Se non è in grado di allocare la memoria richiesta o se la memoria è stata allocata in precedenza, restituisce NULL.

Osservazioni

Il driver miniport può usare le estensioni IRB come risorsa di archiviazione per informazioni specifiche del driver, ad esempio i dati necessari per elaborare una determinata richiesta.

Il driver di porta non inizializza le estensioni IRB, ma imposta un puntatore a un'estensione in ogni IRB inviato al driver miniport.

L'hardware HBA può accedere in modo sicuro a un'estensione IRB.

Il driver miniport non deve chiamare AtaPortGetUncachedExtension da qualsiasi routine diversa dalla routine IdeHwControl e solo quando elabora un'azione di controllo di StartChannel. Le chiamate di AtaPortGetUncachedExtension da altre routine del driver miniport generano un'operazione errata o persino un errore di sistema. Il driver della porta libera automaticamente l'estensione non memorizzata nella cache dopo aver richiamato IdeHwControl con l'azione di controllo StopChannel.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione irb.h (include Ata.h, Irb.h)
libreria Ataport.lib; Pciidex.lib

Vedere anche

IdeHwControl