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