Compartilhar via


Função StorPortPutScatterGatherList (storport.h)

A rotina StorPortPutScatterGatherList libera todos os recursos associados a uma lista de dispersão/coleta que foi criada anteriormente por uma chamada para a rotina StorPortBuildScatterGatherList .

Sintaxe

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

Parâmetros

[in] HwDeviceExtension

Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host).

[in] ScatterGatherList

Um ponteiro para um buffer que contém uma lista de dispersão/coleta que foi criada anteriormente por uma chamada para a rotina StorPortBuildScatterGatherList .

[in] WriteToDevice

Um valor que indica a direção da transferência de DMA concluída. Um valor true indica uma transferência do buffer de dados para o dispositivo e FALSE indica uma transferência do dispositivo para o buffer de dados.

Retornar valor

StorPortPutScatterGatherList retorna um dos seguintes códigos de status:

Código de retorno Descrição
STOR_STATUS_NOT_IMPLEMENTED
Essa função não é implementada no sistema operacional ativo.
STOR_STATUS_SUCCESS
Indica que a rotina liberou a lista de dispersão/coleta com êxito.
STOR_STATUS_INVALID_PARAMETER
O HwDeviceExtension que foi passado foi NULL.
STOR_STATUS_INVALID_IRQL
A chamada foi feita em um IRQL inválido.

Comentários

A rotina StorPortPutScatterGatherList não libera a memória do buffer para a lista de dispersão/coleta, pois o driver de miniporto alocou essa memória.

Depois que a rotina StorPortPutScatterGatherList retorna, o driver de miniport pode reutilizar o buffer para criar uma nova lista de dispersão/coleta chamando o StorPortBuildScatterGatherList novamente. Se um driver de miniporto tiver terminado de usar o buffer para a lista de dispersão/coleta, ele deverá liberar a memória do buffer após o retorno da rotina StorPortPutScatterGatherList . Se o driver de miniporto alocar a memória do buffer com a rotina StorPortAllocatePool , ele deverá liberar a memória chamando a rotina StorPortFreePool .

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL DISPATCH_LEVEL
Regras de conformidade de DDI StorPortIrql(storport)

Confira também

StorPortBuildScatterGatherList