Funzione FwpsReassembleForwardFragmentGroup0 (fwpsk.h)
La funzione FwpsReassembleForwardFragmentGroup0 assembla un elenco di frammenti IP nel percorso dati di inoltro in un singolo pacchetto.
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 |
---|---|
|
L'elenco di frammenti IP è stato riassemblato correttamente in una singola struttura NET_BUFFER_LIST . |
|
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. |
|
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
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool