Condividi tramite


Funzione NdisAllocateNetBufferMdlAndData (ndis/nblapi.h)

I driver NDIS chiamano la funzione NdisAllocateNetBufferMdlAndData per allocare una struttura NET_BUFFER insieme ai dati e MDL associati.

Sintassi

NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
  [in] NDIS_HANDLE PoolHandle
);

Parametri

[in] PoolHandle

Handle del pool di strutture NET_BUFFER restituito in precedenza da una chiamata alla funzione NdisAllocateNetBufferPool.

Valore restituito

NdisAllocateNetBufferMdlAndData restituisce un puntatore alla struttura NET_BUFFER allocata da NDIS. Se l'allocazione non è riuscita, questo puntatore viene NULL.

Osservazioni

Il chiamante deve chiamare la funzione NdisAllocateNetBufferPool e specificare la dimensione massima dei buffer di dati. Dato questo valore, NDIS può preallocare i buffer per il chiamante.

Questa funzione alloca una struttura NET_BUFFER, MDL e dati in un singolo buffer di memoria. Ciò è utile per ottenere prestazioni elevate quando le strutture NET_BUFFER vengono allocate e liberate di frequente. Il chiamante non deve chiamare NdisAllocateNetBuffer per allocare NET_BUFFERs da pool di NET_BUFFER che contengono dati.

NDIS usa il parametro PoolHandle per ottenere un blocco di memoria e quindi crea il buffer di dati, MDL e NET_BUFFER.

Per liberare le informazioni NET_BUFFER e associate, chiamare la funzione NdisFreeNetBuffer.

Fabbisogno

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), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis)

Vedere anche

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer