Función FwpsReassembleForwardFragmentGroup0 (fwpsk.h)
La función FwpsReassembleForwardFragmentGroup0 ensambla una lista de fragmentos IP en la ruta de acceso de datos de reenvío en un solo paquete.
Sintaxis
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
);
Parámetros
[in] addressFamily
Una de las siguientes familias de direcciones:
AF_INET
Familia de direcciones IPv4.
AF_INET6
Familia de direcciones IPv6.
[in, out] fragmentGroupNblChain
Puntero a la cadena de NET_BUFFER_LIST de fragmentos ip que se van a volver a ensamblar en un único paquete. Para obtener más información sobre el uso de este parámetro, vea Comentarios.
[in, optional] netBufferAndNetBufferListPoolHandle
Identificador opcional del grupo de NET_BUFFER_LIST estructura que se devolvió anteriormente desde . Función NdisAllocateNetBufferListPool . El miembro fAllocateNetBuffer de la estructura NET_BUFFER_LIST_POOL_PARAMETERS que el autor de la llamada pasó a NdisAllocateNetBufferListPool debe estar establecido en TRUE y el miembro DataSize establecido en cero. Si este parámetro es NULL, NDIS usa un grupo interno.
[in] dataBackFill
Si se requiere la asignación de espacio de datos no utilizado (espacio de reposición), este parámetro especifica el número de bytes de espacio de datos no utilizado que se va a asignar.
[in] flags
Reservado. Los controladores de llamada deben establecer este parámetro en cero.
[out] reassembledNbl
Puntero a un puntero NET_BUFFER_LIST que recibe la dirección de la lista de búferes de red único reaensamblado.
Valor devuelto
La función FwpsReassembleForwardFragmentGroup0 devuelve uno de los siguientes códigos NTSTATUS.
Código devuelto | Descripción |
---|---|
|
La lista de fragmentos de IP se volvió a ensamblar correctamente en una única estructura de NET_BUFFER_LIST . |
|
La pila de red TCP/IP no está lista para realizar la reensamblaje de paquetes. Este error puede producirse si se llama a esta función antes de que se cargue Tcpip.sys o después de que se haya descargado Tcpip.sys. |
|
Se produjo un error. |
Comentarios
La función FwpsReassembleForwardFragmentGroup0 ensambla una lista de fragmentos ip en la ruta de acceso de datos de reenvío, descrita por una cadena de NET_BUFFER_LIST , en un solo paquete. El paquete reensamblado es una única lista de búferes netos que contiene un búfer neto y hace referencia a la cadena de fragmentos de entrada. Normalmente, los firewalls perimetrales usan esta función para inspeccionar los paquetes de red.
La cadena de entrada de fragmentos IP, fragmentGroupNblChain, debe ser una que se indique mediante la función de llamada classifyFn a la capa de FWPS_LAYER_IPFORWARD_V4 o FWPS_LAYER_IPFORWARD_V6 cuando se establezca la marca FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP. Si no es así, el comportamiento de FwpsReassembleForwardFragmentGroup0 no está definido.
Llame a la función FwpsFreeNetBufferList0 para liberar la estructura de NET_BUFFER_LIST NET_BUFFER_LIST bl y todas las estructuras de NET_BUFFER asociadas y cadenas MDL. FwpsFreeNetBufferList0 desreferencia la cadena de fragmentos de entrada original.
Puede usar el siguiente comando para ver la configuración actual "Agrupar fragmentos reenviados" para el sistema: la interfaz netsh {ipv4|ipv6} muestra global.
Dado que FwpsReassembleForwardFragmentGroup0 hace referencia a la cadena de fragmentos de entrada, no es necesario que las llamadas hagan referencia a la cadena ni clonen la cadena antes de llamar a esta función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Server 2008. |
Plataforma de destino | Universal |
Encabezado | fwpsk.h (incluya Fwpsk.h) |
Library | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
Consulte también
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool