Condividi tramite


Funzione FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)

La funzione FwpsAllocateNetBufferAndNetBufferList0 alloca una nuova struttura NET_BUFFER_LIST.

NotaFwpsAllocateNetBufferAndNetBufferList0 è una versione specifica di FwpsAllocateNetBufferAndNetBufferList. Per altre informazioni, vedere nomi Version-Independent WFP e selezione di versioni specifiche di Windows.
 

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
STATUS_SUCCESS
La nuova struttura NET_BUFFER_LIST è stata allocata correttamente.
Altri codici di stato
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

Vedere anche

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

funzioni di inserimento di pacchetti