Condividi tramite


Strutture di NET_BUFFER_LIST derivate

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

Le funzioni NDIS seguenti possono creare strutture di NET_BUFFER_LIST derivate da una struttura di 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 di 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
Un frammento di struttura NET_BUFFER_LIST include un insieme di strutture NET_BUFFER che si riferiscono ai dati originali; tuttavia, i dati sono suddivisi in unità che non superano un valore massimo. I driver possono usare questo tipo di struttura per suddividere in modo efficiente buffer di grandi dimensioni in buffer più piccoli.

riassemblato
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.

Negli argomenti seguenti vengono fornite altre informazioni sulle strutture di NET_BUFFER_LIST derivate: