Função FwpsReassembleForwardFragmentGroup0 (fwpsk.h)
A função FwpsReassembleForwardFragmentGroup0 monta uma lista de fragmentos de IP no caminho de dados de encaminhamento em um único pacote.
Sintaxe
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
Uma das seguintes famílias de endereços:
AF_INET
A família de endereços IPv4.
AF_INET6
A família de endereços IPv6.
[in, out] fragmentGroupNblChain
Um ponteiro para a cadeia de NET_BUFFER_LIST de fragmentos de IP para remontar em um único pacote. Para obter mais informações sobre o uso desse parâmetro, consulte Comentários.
[in, optional] netBufferAndNetBufferListPoolHandle
Um identificador de pool de estrutura NET_BUFFER_LIST opcional que foi retornado anteriormente do função de NdisAllocateNetBufferListPool. O fAllocateNetBuffer membro da estrutura NET_BUFFER_LIST_POOL_PARAMETERS que o chamador passou para NdisAllocateNetBufferListPool deve ter sido definido como verdadeiroe o membro DataSize definido como zero. Se esse parâmetro for NULL, o NDIS usará um pool interno.
[in] dataBackFill
Se a alocação de espaço de dados não utilizado (espaço em backfill) for necessária, esse parâmetro especificará o número de bytes de espaço de dados não utilizado a ser alocado.
[in] flags
Reservado. Os drivers de texto explicativo devem definir esse parâmetro como zero.
[out] reassembledNbl
Um ponteiro para um ponteiro NET_BUFFER_LIST que recebe o endereço da lista de buffers de rede única remontada.
Valor de retorno
A função FwpsReassembleForwardFragmentGroup0 retorna um dos seguintes códigos NTSTATUS.
Código de retorno | Descrição |
---|---|
|
A lista de fragmentos de IP foi remontada com êxito em uma única estrutura de NET_BUFFER_LIST. |
|
A pilha de rede TCP/IP não está pronta para executar a remontagem de pacotes. Esse erro poderá ocorrer se essa função for chamada antes de Tcpip.sys ser carregada ou depois que Tcpip.sys tiver sido descarregada. |
|
Ocorreu um erro. |
Observações
A função FwpsReassembleForwardFragmentGroup0 monta uma lista de fragmentos de IP no caminho de dados de encaminhamento, descrito por uma cadeia de NET_BUFFER_LIST, em um único pacote. O pacote remontado é uma lista de buffers de rede única que contém um buffer de rede e faz referência à cadeia de fragmentos de entrada. Essa função normalmente é usada por firewalls de borda para inspecionar pacotes de rede.
A cadeia de entrada de fragmentos ip, fragmentGroupNblChain, deve ser aquela indicada pela função de texto explicativo classifyFn para a camada FWPS_LAYER_IPFORWARD_V4 ou FWPS_LAYER_IPFORWARD_V6 quando o sinalizador de FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP é definido. Se esse não for o caso, o comportamento de FwpsReassembleForwardFragmentGroup0 será indefinido.
Chame a função FwpsFreeNetBufferList0 para liberar a estrutura reassembledNbl NET_BUFFER_LIST e todas as estruturas NET_BUFFER associadas e cadeias de MDL. FwpsFreeNetBufferList0 desreferencia a cadeia de fragmentos de entrada original.
Você pode usar o seguinte comando para exibir a configuração atual de "Fragmentos Encaminhados por Grupo" para o sistema: interface netsh {ipv4|ipv6} mostramglobais.
Como FwpsReassembleForwardFragmentGroup0 faz referência à cadeia de fragmentos de entrada, não é necessário que os textos explicativos referenciem ou clonem a cadeia antes de chamar essa função.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows Server 2008. |
da Plataforma de Destino | Universal |
cabeçalho | fwpsk.h (inclua Fwpsk.h) |
biblioteca | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
Consulte também
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool