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 |