Функция FwpmConnectionPolicyAdd0 (fwpmk.h)
Функция FwpmConnectionPolicyAdd0API настраивает политики маршрутизации для исходящих подключений.
Синтаксис
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
);
Параметры
[in] engineHandle
Дескриптор открытого сеанса с обработчиком фильтров. Чтобы открыть сеанс с обработчиком фильтров, вызовите FwpmEngineOpen0.
[in] connectionPolicy
Состояние, связанное с контекстом поставщика.
[in] ipVersion
IP-версия трафика.
[in] weight
Указывает вес, который должен быть задан доверенным промежуточным агентом (TIA) по сравнению с любыми одноранговыми узлами.
[in] numFilterConditions
Количество элементов в filterConditions.
[in, reads(numFilterConditions)] filterConditions
Условие фильтра, которое должно быть верным для выполняемого действия.
Возможные условия соответствия (см. идентификаторы условий фильтрации), которые в следующем списке поддерживаются FwpmConnectionPolicyAdd0. Задайте эти значения в 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
Сведения о безопасности.
Возвращаемое значение
Возврат кода или значения | Описание |
---|---|
ERROR_SUCCESS 0 |
Политика маршрутизации успешно настроена. |
FWP_E_* код ошибки 0x80320001 — 0x80320039 |
Конкретная ошибка платформы фильтрации Windows (МПП). Дополнительные сведения см. в |
код ошибки RPC_* 0x80010001 — 0x80010122 |
Не удаляйте связь с подсистемой удаленного или локального брандмауэра. |
другие коды NTSTATUS | Произошла ошибка. |
Замечания
Стек TCP/IP поддерживает маршрутизацию на основе адресов назначения для исходящих подключений. FwpmConnectionPolicyAdd0API позволяет настроить более экспрессивные политики маршрутизации для исходящих подключений, а также обеспечить более сложные сценарии, такие как маршрутизация на основе исходного адреса, маршрутизация на основе процессов, маршрутизация на основе портов и другие. Политика подключения состоит из массива условий соответствия, массива параметров маршрута и связанного веса. Можно настроить несколько политик и оценить их на основе настроенных весов для исходящего подключения (более высокий вес имеет приоритет). Параметр маршрута первой политики, условия которой (ANDed) соответствует исходящему подключению.
Это поддерживаемые параметры маршрута (см. FWP_NETWORK_CONNECTION_POLICY_SETTING_TYPE):
FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS. Исходный адрес, используемый для подключения. Значение должно быть FWP_UINT32 для IPv4-адреса и FWP_BYTE_ARRAY16_TYPE для IPv6-адреса.
FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP_INTERFACE. LUID исходящего интерфейса, используемого для подключения. Значение должно быть FWP_UINT64.
FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP. Адрес следующего перехватчика (или шлюз), используемый для подключения. Значение должно быть FWP_UINT32 для IPv4-адреса и FWP_BYTE_ARRAY16_TYPE для IPv6-адреса.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows Vista. |
целевая платформа | Всеобщий |
заголовка | fwpmk.h |
библиотеки |
fwpkclnt.lib |
IRQL | <= PASSIVE_LEVEL |