Condividi tramite


Funzione FwpmConnectionPolicyAdd0 (fwpmk.h)

La funzione FwpmConnectionPolicyAdd0API configura i criteri di routing per le connessioni in uscita.

Sintassi

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

Parametri

[in] engineHandle

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

[in] connectionPolicy

Stato associato a un contesto del provider.

[in] ipVersion

Versione IP del traffico.

[in] weight

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

[in] numFilterConditions

Numero di elementi in filterConditions.

[in, reads(numFilterConditions)] filterConditions

Condizione di filtro che deve essere true per l'esecuzione dell'azione.

Delle possibili condizioni di corrispondenza (vedere identificatori di condizione di filtro), quelli nell'elenco seguente sono supportati 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

[in, optional] sd

Informazioni di sicurezza.

Valore restituito

Codice/valore restituito Descrizione
ERROR_SUCCESS
0
I criteri di routing sono stati configurati correttamente.
FWP_E_* codice di errore
0x80320001: 0x80320039
Errore specifico di Windows Filtering Platform (WFP). Per informazioni dettagliate, vedere codici di errore WFP.
RPC_* codice di errore
0x80010001: 0x80010122
Errore di comunicazione con il motore firewall remoto o locale.
Altri codici NTSTATUS Si è verificato un errore.

Osservazioni

Lo stack TCP/IP supporta il routing basato su 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 di abilitare scenari più complessi, ad esempio routing basato su indirizzi di origine, routing basato su processi, routing basato su porte e altri. I criteri di connessione sono costituiti da una matrice di condizioni di corrispondenza, da una matrice di impostazioni di route e da 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 di route del primo criterio le cui condizioni (ANDed) corrispondono alla connessione in uscita.

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

FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS. Indirizzo di origine da utilizzare 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 nexthop (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.

Fabbisogno

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Piattaforma di destinazione Universale
intestazione fwpmk.h
Biblioteca fwpkclnt.lib
IRQL <= PASSIVE_LEVEL

Vedere anche