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 è NULL.

Commenti

Il chiamante deve chiamare la funzione NdisAllocateNetBufferPool e specificare le dimensioni massime 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 NET_BUFFER strutture 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 il NET_BUFFER e le informazioni associate, chiamare la funzione NdisFreeNetBuffer .

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

Vedi anche

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer