Partilhar via


Estruturas NET_BUFFER_LIST derivadas

O NDIS fornece funções que os drivers podem usar para gerenciar estruturas NET_BUFFER_LIST derivadas de outras estruturas NET_BUFFER_LIST. Essas funções são normalmente usadas por drivers intermediários.

As seguintes funções NDIS podem criar estruturas derivadas NET_BUFFER_LIST a partir de uma estrutura NET_BUFFER_LIST existente:

NdisAllocateCloneNetBufferList

NdisAllocateFragmentNetBufferList

NdisAllocateReassembledNetBufferList

Essas funções melhoram o desempenho do sistema porque o NDIS cria as estruturas derivadas sem copiar os dados da rede. Existem três tipos de estruturas NET_BUFFER_LIST que podem ser derivadas de uma estrutura NET_BUFFER_LIST existente:

Clone
Uma estrutura de NET_BUFFER_LIST clonada é uma duplicata que faz referência aos dados originais. Os drivers podem usar esse tipo de estrutura para transferir eficientemente os mesmos dados para vários caminhos.

Fragmento
Uma estrutura de fragmento NET_BUFFER_LIST inclui um conjunto de NET_BUFFER estruturas que fazem referência aos dados originais; no entanto, os dados são divididos em unidades que não excedem um tamanho máximo. Os drivers podem usar esse tipo de estrutura para dividir eficientemente buffers grandes em buffers menores.

Reconstituído
Uma estrutura NET_BUFFER_LIST remontada contém uma estrutura NET_BUFFER que faz referência aos dados originais de várias estruturas NET_BUFFER de origem. Os drivers podem usar esse tipo de estrutura para combinar eficientemente muitos buffers menores em um único buffer grande.

Os tópicos a seguir fornecem mais informações sobre estruturas NET_BUFFER_LIST derivadas: