Freigeben über


FwpmConnectionPolicyAdd0-Funktion (fwpmu.h)

Der TCP/IP-Stapel unterstützt zieladressbasiertes Routing für ausgehende Verbindungen. Mit FwpmConnectionPolicyAdd0API können Sie aussagekräftigere Routingrichtlinien für ausgehende Verbindungen konfigurieren und so komplexere Szenarien wie quelladressbasiertes Routing, prozessbasiertes Routing, portbasiertes Routing usw. ermöglichen. Eine Verbindungsrichtlinie besteht aus einem Array von Übereinstimmungsbedingungen, einem Array von Routeneinstellungen und einer zugeordneten Gewichtung. Sie können mehrere Richtlinien konfigurieren, die basierend auf ihren konfigurierten Gewichtungen für eine ausgehende Verbindung ausgewertet werden (eine höhere Gewichtung hat Vorrang). Die Routeneinstellung der ersten Richtlinie, deren Bedingungen (ANDed) der ausgehenden Verbindung entsprechen, wird angewendet.

Syntax

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

Parameter

engineHandle

Typ: _In_ HANDLE

Ein Handle für eine geöffnete Sitzung mit der Filter-Engine. Um eine Sitzung mit der Filter-Engine zu öffnen, rufen Sie FwpmEngineOpen0 auf.

connectionPolicy

Typ: _In_ const FWPM_PROVIDER_CONTEXT3*

Der Zustand, der einem Anbieterkontext zugeordnet ist.

ipVersion

Typ: _In_ FWP_IP_VERSION

IP-Version des Datenverkehrs.

weight

Typ: _In_ UINT64

Gibt die Gewichtung an, die diesem Trusted Intermediary Agent (TIA) im Vergleich zu peers zugewiesen werden soll.

numFilterConditions

Typ: _In_ UINT32

Die Anzahl der Elemente in filterConditions.

filterConditions

Typ: _In_reads_(numFilterConditions) const FWPM_FILTER_CONDITION0*

Eine Filterbedingung, die für die auszuführende Aktion wahr sein muss.

Von den möglichen Übereinstimmungsbedingungen (siehe Filterbedingungsbezeichner) werden die In der folgenden Liste von FwpmConnectionPolicyAdd0 unterstützt. Legen Sie diese Werte in FWPM_FILTER_CONDITION0::fieldKey fest.

  • 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

Typ: _In_opt_ PSECURITY_DESCRIPTOR

Die Sicherheitsinformationen.

Hinweise

Dies sind die unterstützten Routeneinstellungen (siehe FWP_NETWORK_CONNECTION_POLICY_SETTING_TYPE):

FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS. Die Quelladresse, die für die Verbindung verwendet werden soll. Der Wert sollte ein FWP_UINT32 für eine IPv4-Adresse und ein FWP_BYTE_ARRAY16_TYPE für eine IPv6-Adresse sein.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP_INTERFACE. Die LUID der ausgehenden Schnittstelle, die für die Verbindung verwendet werden soll. Der Wert sollte ein FWP_UINT64 sein.

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP. Die nexthop-Adresse (oder das Gateway), die für die Verbindung verwendet werden soll. Der Wert sollte ein FWP_UINT32 für eine IPv4-Adresse und ein FWP_BYTE_ARRAY16_TYPE für eine IPv6-Adresse sein.

Anforderungen

Anforderung Wert
Header fwpmu.h
Bibliothek fwpuclnt.lib
DLL Fwpuclnt.dll