Compartir a través de


Función FwpmConnectionPolicyAdd0 (fwpmu.h)

La pila TCP/IP admite el enrutamiento basado en direcciones de destino para las conexiones salientes. FwpmConnectionPolicyAdd0API permite configurar directivas de enrutamiento más expresivas para las conexiones salientes y, por tanto, habilitar escenarios más complejos, como el enrutamiento basado en direcciones de origen, el enrutamiento basado en procesos, el enrutamiento basado en puertos y otros. Una directiva de conexión consta de una matriz de condiciones de coincidencia, una matriz de configuraciones de ruta y un peso asociado. Puede configurar varias directivas y se evalúan en función de sus ponderaciones configuradas para una conexión saliente (un peso mayor tiene prioridad). La configuración de ruta de la primera directiva cuyas condiciones (ANDed) coinciden con la conexión saliente se aplica.

Sintaxis

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

Identificador de una sesión abierta con el motor de filtro. Para abrir una sesión con el motor de filtro, llame a FwpmEngineOpen0.

connectionPolicy

Tipo: _In_ const FWPM_PROVIDER_CONTEXT3*

Estado asociado a un contexto de proveedor.

ipVersion

Tipo: _In_ FWP_IP_VERSION

Versión IP del tráfico.

weight

Tipo: _In_ UINT64

Especifica el peso que debe tener este Agente intermediario de confianza (TIA) en comparación con cualquier elemento del mismo nivel.

numFilterConditions

Tipo: _In_ UINT32

Número de elementos de filterConditions.

filterConditions

Tipo: _In_reads_(numFilterConditions) const FWPM_FILTER_CONDITION0*

Condición de filtro que debe ser verdadera para que se tome la acción.

De las posibles condiciones de coincidencia (consulte Identificadores de condición de filtrado), las que aparecen en la lista siguiente son compatibles con FwpmConnectionPolicyAdd0. Establezca estos valores en 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: PSECURITY_DESCRIPTOR de _In_opt_

La información de seguridad.

Comentarios

Estos son los valores de ruta admitidos (consulte FWP_NETWORK_CONNECTION_POLICY_SETTING_TYPE):

FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS. Dirección de origen que se va a usar para la conexión. El valor debe ser un FWP_UINT32 para una dirección IPv4 y un FWP_BYTE_ARRAY16_TYPE para una dirección IPv6.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP_INTERFACE. LUID de la interfaz saliente que se va a usar para la conexión. El valor debe ser un FWP_UINT64.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP. La siguiente dirección (o puerta de enlace) que se va a usar para la conexión. El valor debe ser un FWP_UINT32 para una dirección IPv4 y un FWP_BYTE_ARRAY16_TYPE para una dirección IPv6.

Requisitos

Requisito Valor
Header fwpmu.h
Library Fwpuclnt.lib
Archivo DLL Fwpuclnt.dll