Freigeben über


StorPortPutScatterGatherList-Funktion (storport.h)

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

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 Hostbusadapter (HBA).

[in] ScatterGatherList

Ein Zeiger auf einen Puffer, der eine Punkt/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. Ein Wert von TRUE gibt eine Übertragung vom Datenpuffer an das Gerät an, und FALSE gibt eine Übertragung vom Gerät in den Datenpuffer an.

Rückgabewert

StorPortPutScatterGatherList gibt einen der folgenden Statuscodes zurück:

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

Bemerkungen

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

Nachdem die StorPortPutScatterGatherList Routinerücklauf zurückgegeben wurde, kann der Miniporttreiber den Puffer wiederverwenden, um eine neue Punkt/Gather-Liste zu erstellen, indem die StorPortBuildScatterGatherList erneut aufgerufen wird. Wenn ein Miniporttreiber die Verwendung des Puffers für die Punkt/Gather-Liste abgeschlossen hat, sollte er den Speicher für den Puffer freigeben, nachdem die StorPortPutScatterGatherList Routine zurückgegeben wird. Wenn der Miniport-Treiber den Pufferspeicher mit der StorPortAllocatePool Routine zuweist, sollte der Speicher durch Aufrufen der StorPortFreePool Routine freigegeben werden.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- storport.h (include Storport.h)
IRQL- DISPATCH_LEVEL
DDI-Complianceregeln StorPortIrql(storport)

Siehe auch

StorPortBuildScatterGatherList