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) |