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
de dispersão/coleta de DMA do NDIS
NdisMRegisterScatterGatherDma