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 usato nella struttura NET_BUFFER_LIST_CONTEXT per riservare il driver di 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 indietro) 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 usata 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 usato nella catena MDL. Lo spazio dati in anticipo rispetto a questo offset è 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 usato 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. |
Commenti
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 delle funzioni di inserimento dei pacchetti WFP.
Dopo che i dati descritti dalla nuova struttura NET_BUFFER_LIST sono stati inseriti correttamente nello stack di rete, il driver di callout libera la nuova struttura di NET_BUFFER_LIST chiamando il Funzione FwpsFreeNetBufferList0 .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista. |
Piattaforma di destinazione | Universale |
Intestazione | fwpsk.h (includere Fwpsk.h) |
Libreria | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |