Freigeben über


StorPortPutScatterGatherList-Funktion (storport.h)

Die StorPortPutScatterGatherList-Routine gibt alle Ressourcen frei, die einer Scatter/Gather-Liste zugeordnet sind, die zuvor durch einen Aufruf der StorPortBuildScatterGatherList-Routine erstellt wurden.

Syntax

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

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung für den Host Bus Adapter (HBA).

[in] ScatterGatherList

Ein Zeiger auf einen Puffer, der eine Scatter/Gather-Liste enthält, die zuvor durch einen Aufruf der StorPortBuildScatterGatherList-Routine erstellt wurde.

[in] WriteToDevice

Ein Wert, der die Richtung der abgeschlossenen DMA-Übertragung angibt. Der Wert TRUE gibt eine Übertragung vom Datenpuffer zum Gerät an, und FALSE gibt eine Übertragung vom Gerät an den Datenpuffer an.

Rückgabewert

StorPortPutScatterGatherList gibt einen der folgenden status-Codes zurück:

Rückgabecode Beschreibung
STOR_STATUS_NOT_IMPLEMENTED
Diese Funktion ist auf dem aktiven Betriebssystem nicht implementiert.
STOR_STATUS_SUCCESS
Gibt an, dass die Routine die Scatter/Gather-Liste erfolgreich freigegeben hat.
STOR_STATUS_INVALID_PARAMETER
Das übergebene HwDeviceExtension war NULL.
STOR_STATUS_INVALID_IRQL
Der Aufruf wurde an einem ungültigen IRQL ausgeführt.

Hinweise

Die StorPortPutScatterGatherList-Routine gibt den Pufferspeicher für die Scatter/Gather-Liste nicht frei, da der Miniporttreiber diesen Speicher zugewiesen hat.

Nachdem die StorPortPutScatterGatherList-Routine zurückgegeben wurde, kann der Miniporttreiber den Puffer wiederverwenden, um eine neue Scatter/Gather-Liste zu erstellen, indem storPortBuildScatterGatherList erneut aufgerufen wird. Wenn ein Miniporttreiber die Verwendung des Puffers für die Scatter/Gather-Liste abgeschlossen hat, sollte er den Speicher für den Puffer freigeben, nachdem die StorPortPutScatterGatherList-Routine zurückgegeben wird. Wenn der Miniporttreiber den Pufferspeicher der StorPortAllocatePool-Routine zuordnet, sollte er den Arbeitsspeicher durch Aufrufen der StorPortFreePool-Routine freigeben.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header storport.h (einschließlich Storport.h)
IRQL DISPATCH_LEVEL
DDI-Complianceregeln StorPortIrql(storport)

Weitere Informationen

StorPortBuildScatterGatherList