Compartir a través de


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.

NotaFwpsReassembleForwardFragmentGroup0 es una versión específica de FwpsReassembleForwardFragmentGroup. Para obtener más información, vea NOMBRES DE Version-Independent DE PMA y versiones específicas de Windows dirigidas a destinatarios.
 

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
STATUS_SUCCESS
La lista de fragmentos de IP se volvió a ensamblar correctamente en una única estructura de NET_BUFFER_LIST .
STATUS_FWP_TCPIP_NOT_READY
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.
Otros códigos de estado
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

FwpsFreeNetBufferList0

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool

classifyFn