Funzione StorPortPutScatterGatherList (storport.h)

La routine StorPortPutScatterGatherList rilascia tutte le risorse associate a un elenco a dispersione/raccolta creato in precedenza da una chiamata alla routine StorPortBuildScatterGatherList .

Sintassi

ULONG StorPortPutScatterGatherList(
  [in] PVOID                     HwDeviceExtension,
  [in] PSTOR_SCATTER_GATHER_LIST ScatterGatherList,
  [in] BOOLEAN                   WriteToDevice
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware per l'adattatore del bus host (HBA).

[in] ScatterGatherList

Puntatore a un buffer contenente un elenco di dispersione/raccolta creato in precedenza da una chiamata alla routine StorPortBuildScatterGatherList .

[in] WriteToDevice

Valore che indica la direzione del trasferimento DMA completato. Un valore true indica un trasferimento dal buffer dei dati al dispositivo e FALSE indica un trasferimento dal dispositivo al buffer dei dati.

Valore restituito

StorPortPutScatterGatherList restituisce uno dei codici di stato seguenti:

Codice restituito Descrizione
STOR_STATUS_NOT_IMPLEMENTED
Questa funzione non viene implementata nel sistema operativo attivo.
STOR_STATUS_SUCCESS
Indica che la routine ha rilasciato correttamente l'elenco a dispersione/raccolta.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension passato è null.
STOR_STATUS_INVALID_IRQL
La chiamata è stata effettuata in un IRQL non valido.

Commenti

La routine StorPortPutScatterGatherList non libera la memoria del buffer per l'elenco di dispersione/raccolta, perché il driver miniport allocato questa memoria.

Dopo aver restituito la routine StorPortPutScatterGatherList , il driver miniport può riutilizzare il buffer per creare un nuovo elenco di dispersione/raccolta chiamando di nuovo StorPortBuildScatterGatherList . Se un driver miniport ha completato l'uso del buffer per l'elenco di dispersione/raccolta, deve liberare la memoria per il buffer dopo che la routine StorPortPutScatterGatherList restituisce. Se il driver miniport alloca la memoria del buffer con la routine StorPortAllocatePool , deve liberare la memoria chiamando la routine StorPortFreePool .

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione Storport.h (include Storport.h)
IRQL DISPATCH_LEVEL
Regole di conformità DDI StorPortIrql(storport)

Vedi anche

StorPortBuildScatterGatherList