Compartir a través de


Función FwpmConnectionPolicyAdd0 (fwpmk.h)

La función fwpmConnectionPolicyAdd0API configura las directivas de enrutamiento para las conexiones salientes.

Sintaxis

NTSTATUS FwpmConnectionPolicyAdd0(
  [in]                             HANDLE                       engineHandle,
  [in]                             const FWPM_PROVIDER_CONTEXT3 *connectionPolicy,
  [in]                             FWP_IP_VERSION               ipVersion,
  [in]                             UINT64                       weight,
  [in]                             UINT32                       numFilterConditions,
  [in, reads(numFilterConditions)] const FWPM_FILTER_CONDITION0 *filterConditions,
  [in, optional]                   PSECURITY_DESCRIPTOR         sd
);

Parámetros

[in] engineHandle

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

[in] connectionPolicy

Estado asociado a un contexto de proveedor.

[in] ipVersion

Versión IP del tráfico.

[in] weight

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

[in] numFilterConditions

Número de elementos de filterConditions.

[in, reads(numFilterConditions)] filterConditions

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

De las posibles condiciones de coincidencia (consulte identificadores de condición de filtrado), las de 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

[in, optional] sd

La información de seguridad.

Valor devuelto

Código y valor devueltos Descripción
ERROR_SUCCESS
0
La directiva de enrutamiento se configuró correctamente.
FWP_E_* de código de error
0x80320001: 0x80320039
Error específico de la Plataforma de filtrado de Windows (PMA). Consulte códigos de error de PMA para obtener más información.
RPC_* código de error
0x80010001: 0x80010122
Error al comunicarse con el motor de firewall remoto o local.
otros códigos NTSTATUS Error.

Observaciones

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 pesos configurados para una conexión saliente (un peso mayor tiene prioridad). La configuración de ruta de la primera directiva cuyas condiciones (ANDed) coincide con la conexión saliente se aplica.

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
cliente mínimo admitido Disponible a partir de Windows Vista.
de la plataforma de destino de Universal
encabezado de fwpmk.h
biblioteca de fwpkclnt.lib
irQL <= PASSIVE_LEVEL

Consulte también