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