Compartir a través de


Función StorPortPutScatterGatherList (storport.h)

La rutina StorPortPutScatterGatherList libera todos los recursos asociados a una lista de dispersión y recopilación creada anteriormente mediante una llamada a la rutina StorPortBuildScatterGatherList .

Sintaxis

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

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware para el adaptador de bus host (HBA).

[in] ScatterGatherList

Puntero a un búfer que contiene una lista de dispersión y recopilación creada previamente mediante una llamada a la rutina StorPortBuildScatterGatherList .

[in] WriteToDevice

Valor que indica la dirección de la transferencia DMA que se ha completado. Un valor true indica una transferencia del búfer de datos al dispositivo y FALSE indica una transferencia del dispositivo al búfer de datos.

Valor devuelto

StorPortPutScatterGatherList devuelve uno de los siguientes códigos de estado:

Código devuelto Descripción
STOR_STATUS_NOT_IMPLEMENTED
Esta función no se implementa en el sistema operativo activo.
STOR_STATUS_SUCCESS
Indica que la rutina liberó correctamente la lista de dispersión y recopilación.
STOR_STATUS_INVALID_PARAMETER
La HwDeviceExtension que se pasó era NULL.
STOR_STATUS_INVALID_IRQL
La llamada se realizó en un IRQL no válido.

Comentarios

La rutina StorPortPutScatterGatherList no libera la memoria del búfer para la lista de dispersión o recopilación, ya que el controlador de miniporte asignó esta memoria.

Después de que se devuelva la rutina StorPortPutScatterGatherList , el controlador de miniporte puede reutilizar el búfer para crear una nueva lista de dispersión o recopilación llamando a StorPortBuildScatterGatherList de nuevo. Si un controlador de minipuerto ha terminado de usar el búfer para la lista de dispersión y recopilación, debe liberar la memoria del búfer después de que se devuelva la rutina StorPortPutScatterGatherList . Si el controlador de minipuerto asigna la memoria de búfer con la rutina StorPortAllocatePool , debe liberar la memoria llamando a la rutina StorPortFreePool .

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)
IRQL DISPATCH_LEVEL
Reglas de cumplimiento de DDI StorPortIrql(storport)

Consulte también

StorPortBuildScatterGatherList