Compartilhar via


Novo suporte a dispersão/coleta de DMA

Ao contrário das versões anteriores do NDIS, o NDIS 6.0 passa um pacote de envio para um driver de miniporte antes que o pacote seja mapeado para uma transferência de DMA. Depois de obter o pacote, o driver de miniporto poderá solicitar que o NDIS forneça uma lista de dispersão/coleta para o pacote.

Isso oferece os seguintes benefícios:

  • Como um driver de miniporto tem acesso ao pacote antes de ser mapeado, todas as alterações feitas pelo driver de miniporto no pacote são refletidas nos dados da lista de dispersão/coleta associados.

  • Um driver de miniporte pode otimizar a transmissão de pacotes pequenos ou altamente fragmentados copiando-os para um buffer pré-alocado, eliminando assim a necessidade de mapeamento. Isso elimina o processamento desnecessário.

  • O NDIS pode passar com segurança várias estruturas de NET_BUFFER para o driver de miniporto em uma chamada de função. Isso resulta em menos chamadas para o driver de miniporte e, portanto, melhora o desempenho do sistema.

  • Como um driver de miniporto pode pré-alocar memória para uma lista de dispersão/coleta, o NDIS não precisa alocar memória para a lista de dispersão/coleta em tempo de execução.

Para obter mais informações sobre o DMA de dispersão/coleta do NDIS 6.0, consulte NDIS 6.0 Dispersão/Coleta de DMA.