Compartilhar via


Função FwpmConnectionPolicyAdd0 (fwpmu.h)

A pilha TCP/IP dá suporte ao roteamento baseado em endereço de destino para conexões de saída. O FwpmConnectionPolicyAdd0API permite configurar políticas de roteamento mais expressivas para conexões de saída e, assim, habilitar cenários mais complexos, como roteamento baseado em endereço de origem, roteamento baseado em processo, roteamento baseado em porta e outros. Uma política de conexão consiste em uma matriz de condições de correspondência, uma matriz de configurações de rota e um peso associado. Você pode configurar várias políticas e elas são avaliadas com base em seus pesos configurados para uma conexão de saída (um peso mais alto tem precedência). A configuração de rota da primeira política cujas condições (ANDed) correspondem à conexão de saída é aplicada.

Sintaxe

DWORD FwpmConnectionPolicyAdd0(
  HANDLE                       engineHandle,
  const FWPM_PROVIDER_CONTEXT3 *connectionPolicy,
  FWP_IP_VERSION               ipVersion,
  UINT64                       weight,
  UINT32                       numFilterConditions,
  const FWPM_FILTER_CONDITION0 *filterConditions,
  PSECURITY_DESCRIPTOR         sd
);

Parâmetros

engineHandle

Tipo: _In_ HANDLE

Um identificador para uma sessão aberta com o mecanismo de filtro. Para abrir uma sessão com o mecanismo de filtro, chame FwpmEngineOpen0.

connectionPolicy

Tipo: _In_ const FWPM_PROVIDER_CONTEXT3*

O estado associado a um contexto de provedor.

ipVersion

Tipo: _In_ FWP_IP_VERSION

Versão ip do tráfego.

weight

Tipo: _In_ UINT64

Especifica o peso que esse TIA (Agente Intermediário Confiável) deve receber em comparação com todos os pares.

numFilterConditions

Tipo: _In_ UINT32

O número de elementos em filterConditions.

filterConditions

Tipo: _In_reads_(numFilterConditions) const FWPM_FILTER_CONDITION0*

Uma condição de filtro que deve ser verdadeira para que a ação seja tomada.

Das possíveis condições de correspondência (consulte Filtrando identificadores de condição), as da lista a seguir têm suporte de FwpmConnectionPolicyAdd0. Defina esses valores em FWPM_FILTER_CONDITION0::fieldKey.

  • FWPM_CONDITION_ALE_APP_ID
  • FWPM_CONDITION_ALE_USER_ID
  • FWPM_CONDITION_IP_LOCAL_ADDRESS
  • FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE
  • FWPM_CONDITION_IP_LOCAL_PORT
  • FWPM_CONDITION_IP_PROTOCOL
  • FWPM_CONDITION_IP_REMOTE_ADDRESS
  • FWPM_CONDITION_IP_DESTINATION_ADDRESS_TYPE
  • FWPM_CONDITION_IP_REMOTE_PORT
  • FWPM_CONDITION_FLAGS
  • FWPM_CONDITION_ALE_ORIGINAL_APP_ID
  • FWPM_CONDITION_ALE_PACKAGE_ID
  • FWPM_CONDITION_COMPARTMENT_ID

sd

Tipo: _In_opt_ PSECURITY_DESCRIPTOR

As informações de segurança.

Comentários

Essas são as configurações de rota com suporte (consulte FWP_NETWORK_CONNECTION_POLICY_SETTING_TYPE):

FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS. O endereço de origem a ser usado para a conexão. O valor deve ser um FWP_UINT32 para um endereço IPv4 e um FWP_BYTE_ARRAY16_TYPE para um endereço IPv6.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP_INTERFACE. O LUID da interface de saída a ser usada para a conexão. O valor deve ser um FWP_UINT64.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP. O endereço nexthop (ou gateway) a ser usado para a conexão. O valor deve ser um FWP_UINT32 para um endereço IPv4 e um FWP_BYTE_ARRAY16_TYPE para um endereço IPv6.

Requisitos

Requisito Valor
Cabeçalho fwpmu.h
Biblioteca Fwpuclnt.lib
DLL Fwpuclnt.dll