Condividi tramite


Funzione FwpsReassembleForwardFragmentGroup0 (fwpsk.h)

La funzione FwpsReassembleForwardFragmentGroup0 assembla un elenco di frammenti IP nel percorso dati di inoltro in un singolo pacchetto.

NotaFwpsReassembleForwardFragmentGroup0 è una versione specifica di FwpsReassembleForwardFragmentGroup. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows .
 

Sintassi

NTSTATUS FwpsReassembleForwardFragmentGroup0(
  [in]           ADDRESS_FAMILY  addressFamily,
  [in, out]      NET_BUFFER_LIST *fragmentGroupNblChain,
  [in, optional] NDIS_HANDLE     netBufferAndNetBufferListPoolHandle,
  [in]           ULONG           dataBackFill,
  [in]           ULONG           flags,
  [out]          NET_BUFFER_LIST **reassembledNbl
);

Parametri

[in] addressFamily

Una delle famiglie di indirizzi seguenti:

AF_INET

Famiglia di indirizzi IPv4.

AF_INET6

Famiglia di indirizzi IPv6.

[in, out] fragmentGroupNblChain

Puntatore alla catena NET_BUFFER_LIST di frammenti IP da riassemblare in un singolo pacchetto. Per altre informazioni sull'utilizzo di questo parametro, vedere Osservazioni.

[in, optional] netBufferAndNetBufferListPoolHandle

Handle del pool di strutture di NET_BUFFER_LIST facoltativo restituito in precedenza dall'oggetto Funzione NdisAllocateNetBufferListPool . Il membro fAllocateNetBuffer della struttura NET_BUFFER_LIST_POOL_PARAMETERS che il chiamante passato a NdisAllocateNetBufferListPool deve essere stato impostato su TRUE e il membro DataSize impostato su zero. Se questo parametro è NULL, NDIS usa un pool interno.

[in] dataBackFill

Se è necessaria l'allocazione dello spazio dati inutilizzato (spazio di riempimento indietro), questo parametro specifica il numero di byte di spazio dati inutilizzato da allocare.

[in] flags

Riservato. I driver di callout devono impostare questo parametro su zero.

[out] reassembledNbl

Puntatore a un puntatore NET_BUFFER_LIST che riceve l'indirizzo dell'elenco di buffer di rete riassemblato.

Valore restituito

La funzione FwpsReassembleForwardFragmentGroup0 restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
L'elenco di frammenti IP è stato riassemblato correttamente in una singola struttura NET_BUFFER_LIST .
STATUS_FWP_TCPIP_NOT_READY
Lo stack di rete TCP/IP non è pronto per eseguire il riassemblaggio dei pacchetti. Questo errore può verificarsi se questa funzione viene chiamata prima del caricamento di Tcpip.sys o dopo il caricamento di Tcpip.sys.
Altri codici di stato
Si è verificato un errore.

Commenti

La funzione FwpsReassembleForwardFragmentGroup0 assembla un elenco di frammenti IP nel percorso dati di inoltro, descritto da una catena di NET_BUFFER_LIST , in un singolo pacchetto. Il pacchetto riassemblato è un singolo elenco di buffer net che contiene un buffer netto e fa riferimento alla catena di frammenti di input. Questa funzione viene in genere usata dai firewall perimetrali per controllare i pacchetti di rete.

La catena di input dei frammenti IP, fragmentGroupNblChain, deve essere quella indicata dalla funzione di callout di classificazioneFn al livello FWPS_LAYER_IPFORWARD_V4 o FWPS_LAYER_IPFORWARD_V6 quando viene impostato il flag di FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP. In caso contrario, il comportamento di FwpsReassembleForwardFragmentGroup0 non è definito.

Chiamare la funzione FwpsFreeNetBufferList0 per liberare la struttura di NET_BUFFER_LIST Nbl riassemblata e tutte le strutture NET_BUFFER associate e le catene MDL associate. FwpsFreeNetBufferList0 dereferences la catena di frammenti di input originale.

È possibile usare il comando seguente per visualizzare l'impostazione corrente "Group Forwarded Fragments" per il sistema: l'interfaccia netsh {ipv4|ipv6} mostra globale.

Poiché FwpsReassembleForwardFragmentGroup0 fa riferimento alla catena di frammenti di input, non è necessario che i callout facciano riferimento o clonino la catena prima di chiamare questa funzione.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Server 2008.
Piattaforma di destinazione Universale
Intestazione fwpsk.h (includere Fwpsk.h)
Libreria Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Vedi anche

FwpsFreeNetBufferList0

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool

classificazioneFn