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 |
---|---|
|
Diese Funktion ist nicht auf dem aktiven Betriebssystem implementiert. |
|
Gibt an, dass die Routine die Punkt/Gather-Liste erfolgreich freigegeben hat. |
|
Die HwDeviceExtension-, die übergeben wurde, wurde NULL-. |
|
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) |