Compartilhar via


Função NdisMFreeNetBufferSGList (ndis.h)

Cuidado

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

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

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

Os drivers de miniporto mestre do 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 do driver de miniport.

[in] NetBuffer

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

Valor de retorno

Nenhum

Observações

Os drivers de miniporto mestre do 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 de NET_BUFFER associada à lista de dispersão/coleta.

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

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

Requisitos

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

Consulte também

miniportInterruptDPC

de dispersão/coleta de DMA do NDIS

NET_BUFFER

NdisMAllocateNetBufferSGList

NdisMRegisterScatterGatherDma