Condividi tramite


Funzione NdisAllocateNetBufferList (ndis/nblapi.h)

Chiamare la funzione NdisAllocateNetBufferList per allocare e inizializzare una struttura NET_BUFFER_LIST da un pool di strutture di NET_BUFFER_LIST .

Sintassi

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

Parametri

[in] PoolHandle

Handle del pool di strutture NET_BUFFER_LIST restituito in precedenza da una chiamata a NdisAllocateNetBufferListPool.

[in] ContextSize

Quantità di spazio dati usato nella struttura NET_BUFFER_LIST_CONTEXT per riservare per il chiamante. ContextSize deve essere un multiplo del valore definito da MEMORY_ALLOCATION_ALIGNMENT.

[in] ContextBackFill

Quantità di spazio dati inutilizzato (spazio di riempimento indietro) richiesto dal chiamante. NDIS aggiunge questo valore a ContextSize e alloca spazio aggiuntivo. ContextBackFill deve essere un multiplo del valore definito da MEMORY_ALLOCATION_ALIGNMENT.

Valore restituito

NdisAllocateNetBufferList restituisce un puntatore alla struttura NET_BUFFER_LIST allocata. Se l'allocazione non è riuscita, questo puntatore è NULL.

Commenti

È possibile chiamare NdisAllocateNetBufferList o Funzione NdisAllocateNetBufferAndNetBufferList per allocare una struttura NET_BUFFER_LIST da un pool.

NotaNET_BUFFER e NET_BUFFER_LIST strutture devono essere allocate da un pool di buffer NDIS. Un driver non deve allocare e inizializzare una struttura NET_BUFFER_LIST o NET_BUFFER dal pool di memoria privato o dallo stack.
 
Se si chiama NdisAllocateNetBufferList e il pool di strutture NET_BUFFER_LIST è stato allocato chiamando il Funzione NdisAllocateNetBufferListPool con il membro fAllocateNetBuffer della struttura NET_BUFFER_LIST_POOL_PARAMETERS impostata su TRUE, NDIS alloca un NET_BUFFER_LIST, NET_BUFFER, MDL e dati.

Chiamare la funzione NdisFreeNetBufferList per liberare una struttura NET_BUFFER_LIST.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ndis/nblapi.h (include ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

Vedi anche

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList