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