Funzione FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)
La funzione FwpsAllocateNetBufferAndNetBufferList0 alloca una nuova struttura NET_BUFFER_LIST.
Sintassi
NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
[in] NDIS_HANDLE poolHandle,
[in] USHORT contextSize,
[in] USHORT contextBackFill,
[in, optional] MDL *mdlChain,
[in] ULONG dataOffset,
[in] SIZE_T dataLength,
[out] NET_BUFFER_LIST **netBufferList
);
Parametri
[in] poolHandle
Handle del pool NET_BUFFER_LIST ottenuto da una chiamata precedente alla funzione NdisAllocateNetBufferListPool.
[in] contextSize
Dimensioni, in byte, dello spazio dati utilizzato nella struttura NET_BUFFER_LIST_CONTEXT da riservare per il driver callout. Il valore di questo parametro deve essere un multiplo del valore definito da MEMORY_ALLOCATION_ALIGNMENT.
[in] contextBackFill
Dimensioni, in byte, dello spazio dati inutilizzato (spazio di riempimento) richiesto dal driver di callout. La funzione FwpsAllocateNetBufferAndNetBufferList0 aggiunge questo valore al valore specificato nel parametro ContextSize e alloca spazio aggiuntivo. Il valore di questo parametro deve essere un multiplo del valore definito da MEMORY_ALLOCATION_ALIGNMENT.
[in, optional] mdlChain
Puntatore a una catena MDL utilizzata per inizializzare la struttura di NET_BUFFER preallocata. Questo parametro è facoltativo e può essere NULL.
[in] dataOffset
Offset iniziale, in byte, dall'inizio del buffer all'inizio dello spazio dati utilizzato nella catena MDL. Lo spazio dati prima di questo offset è lo spazio dati inutilizzato. Pertanto, questo valore rappresenta anche la quantità iniziale di spazio di riempimento disponibile nella catena MDL.
[in] dataLength
Lunghezza, in byte, dello spazio dati utilizzato nella catena MDL.
[out] netBufferList
Puntatore a una variabile che riceve un puntatore alla nuova struttura NET_BUFFER_LIST.
Valore restituito
La funzione FwpsAllocateNetBufferAndNetBufferList0 restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
|
La nuova struttura NET_BUFFER_LIST è stata allocata correttamente. |
|
Si è verificato un errore. |
Osservazioni
Un driver callout chiama la funzione fwpsAllocateNetBufferAndNetBufferList0 per allocare una nuova struttura di NET_BUFFER_LIST.
Questa funzione è un wrapper intorno a funzione NdisAllocateNetBufferAndNetBufferList, ma è specializzata per l'uso da parte del WFP funzioni di inserimento di pacchetti.
Dopo che i dati descritti dalla nuova struttura di NET_BUFFER_LIST sono stati inseriti correttamente nello stack di rete, il driver callout libera la nuova struttura NET_BUFFER_LIST chiamando il funzione di FwpsFreeNetBufferList0.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows Vista. |
piattaforma di destinazione | Universale |
intestazione | fwpsk.h (include Fwpsk.h) |
libreria | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |