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

Vedi anche

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

Funzioni di inserimento pacchetti