Condividi tramite


Funzione FwpmConnectionPolicyAdd0 (fwpmu.h)

Lo stack TCP/IP supporta il routing basato sugli indirizzi di destinazione per le connessioni in uscita. FwpmConnectionPolicyAdd0API consente di configurare criteri di routing più espressivi per le connessioni in uscita e di conseguenza per abilitare scenari più complessi, ad esempio routing basato su indirizzi di origine, routing basato su processi, routing basato su porta e altri. Un criterio di connessione è costituito da una matrice di condizioni di corrispondenza, una matrice di impostazioni di route e un peso associato. È possibile configurare più criteri e vengono valutati in base ai pesi configurati per una connessione in uscita (un peso maggiore ha la precedenza). Impostazione della route del primo criterio le cui condizioni (ANDed) corrispondono alla connessione in uscita.

Sintassi

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
);

Parametri

engineHandle

Tipo: _In_ HANDLE

Handle per una sessione aperta con il motore di filtro. Per aprire una sessione con il motore di filtro, chiamare FwpmEngineOpen0.

connectionPolicy

Tipo: _In_ const FWPM_PROVIDER_CONTEXT3*

Stato associato a un contesto del provider.

ipVersion

Tipo: _In_ FWP_IP_VERSION

Versione IP del traffico.

weight

Tipo: _In_ UINT64

Specifica il peso che deve essere assegnato all'agente intermedio attendibile (TIA) rispetto a tutti i peer.

numFilterConditions

Tipo: _In_ UINT32

Numero di elementi in filterConditions.

filterConditions

Tipo: _In_reads_(numFilterConditions) const FWPM_FILTER_CONDITION0*

Condizione di filtro che deve essere true per l'azione da eseguire.

Delle possibili condizioni di corrispondenza (vedere Identificatori di condizione di filtro), quelle nell'elenco seguente sono supportate da FwpmConnectionPolicyAdd0. Impostare questi valori in 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

Informazioni sulla sicurezza.

Commenti

Queste sono le impostazioni di route supportate (vedere FWP_NETWORK_CONNECTION_POLICY_SETTING_TYPE):

FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS. Indirizzo di origine da usare per la connessione. Il valore deve essere un FWP_UINT32 per un indirizzo IPv4 e un FWP_BYTE_ARRAY16_TYPE per un indirizzo IPv6.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP_INTERFACE. LUID dell'interfaccia in uscita da usare per la connessione. Il valore deve essere un FWP_UINT64.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP. Indirizzo successivo (o gateway) da usare per la connessione. Il valore deve essere un FWP_UINT32 per un indirizzo IPv4 e un FWP_BYTE_ARRAY16_TYPE per un indirizzo IPv6.

Requisiti

Requisito Valore
Intestazione fwpmu.h
Libreria Fwpuclnt.lib
DLL Fwpuclnt.dll