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 |