Strutture NET_BUFFER_LIST derivate

NDIS fornisce funzioni che i driver possono usare per gestire le strutture NET_BUFFER_LIST derivate da altre strutture NET_BUFFER_LIST. Queste funzioni vengono in genere usate dai driver intermedi.

Le funzioni NDIS seguenti possono creare strutture derivate NET_BUFFER_LIST da una struttura NET_BUFFER_LIST esistente:

NdisAllocateCloneNetBufferList

NdisAllocateFragmentNetBufferList

NdisAllocateReassembledNetBufferList

Queste funzioni migliorano le prestazioni del sistema perché NDIS crea le strutture derivate senza copiare i dati di rete. Esistono tre tipi di strutture NET_BUFFER_LIST che possono essere derivate da una struttura NET_BUFFER_LIST esistente:

Clone
Una struttura NET_BUFFER_LIST clonata è un duplicato che fa riferimento ai dati originali. I driver possono usare questo tipo di struttura per trasferire in modo efficiente gli stessi dati in più percorsi.

Frammento
Una struttura di frammento NET_BUFFER_LIST include un set di strutture NET_BUFFER che fanno riferimento ai dati originali; tuttavia, i dati sono suddivisi in unità che non superano una dimensione massima. I driver possono usare questo tipo di struttura per suddividere in modo efficiente i buffer di grandi dimensioni in buffer più piccoli.

Rimontato
Una struttura NET_BUFFER_LIST riassemblata contiene una struttura NET_BUFFER che fa riferimento ai dati originali da più strutture di NET_BUFFER di origine. I driver possono usare questo tipo di struttura per combinare in modo efficiente molti buffer più piccoli in un singolo buffer di grandi dimensioni.

Questi argomenti seguenti forniscono altre informazioni sulle strutture di NET_BUFFER_LIST derivate: