Compartilhar via


Função NdisMFreeNetBufferSGList (ndis.h)

Cuidado

Para processadores ARM e ARM64, é altamente recomendável que os gravadores de driver NDIS usem dma WDF ou DMA WDM em vez de DMA de dispersão/coleta de NDIS.

Para obter mais informações sobre o AMD WDF, consulte Manipulando operações de DMA em drivers KMDF.

Para obter mais informações sobre o AMD do WDM, consulte os tópicos filho relacionados ao DMA de Gerenciamento de entrada/saída para drivers.

Os drivers de miniporto master de barramento chamam a função NdisMFreeNetBufferSGList para liberar recursos de lista de dispersão/coleta que foram alocados chamando o Função NdisMAllocateNetBufferSGList .

Sintaxe

void NdisMFreeNetBufferSGList(
  [in] NDIS_HANDLE          NdisMiniportDmaHandle,
  [in] PSCATTER_GATHER_LIST pSGL,
  [in] PNET_BUFFER          NetBuffer
);

Parâmetros

[in] NdisMiniportDmaHandle

Um identificador para uma área de contexto que o NDIS usa para gerenciar um recurso de DMA. O chamador obteve esse identificador chamando o Função NdisMRegisterScatterGatherDma .

[in] pSGL

Um ponteiro para um buffer de lista de dispersão/coleta de driver de miniport.

[in] NetBuffer

Um ponteiro para a estrutura NET_BUFFER associada ao buffer de lista de dispersão/coleta especificado.

Retornar valor

Nenhum

Comentários

Os drivers de miniporto master de barramento devem chamar a função NdisMFreeNetBufferSGList para liberar uma lista de dispersão/coleta. Um driver de miniporto normalmente chama NdisMFreeNetBufferSGList de sua função MiniportInterruptDPC enquanto está tratando uma interrupção completa de envio ou a qualquer momento que o driver não exija mais a lista de dispersão/coleta. Não chame NdisMFreeNetBufferSGList enquanto o driver ou hardware ainda estiver acessando a memória descrita pela estrutura NET_BUFFER associada à lista de dispersão/coleta.

Os drivers de miniport podem liberar o buffer especificado no parâmetro ScatterGatherListBuffer da função NdisMAllocateNetBufferSGList após o retorno de NdisMFreeNetBufferSGList .

Antes de acessar os dados recebidos, os drivers de miniport devem chamar NdisMFreeNetBufferSGList para liberar o cache de memória.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Universal
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL DISPATCH_LEVEL
Regras de conformidade da DDI Irql_Gather_DMA_Function(ndis)

Confira também

MiniportInterruptDPC

DMA de dispersão/coleta de NDIS

NET_BUFFER

NdisMAllocateNetBufferSGList

NdisMRegisterScatterGatherDma