Функция FwpmCalloutAdd0 (fwpmu.h)

Функция FwpmCalloutAdd0 добавляет новый объект выноски в систему.

Синтаксис

DWORD FwpmCalloutAdd0(
  [in]            HANDLE               engineHandle,
  [in]            const FWPM_CALLOUT0  *callout,
  [in, optional]  PSECURITY_DESCRIPTOR sd,
  [out, optional] UINT32               *id
);

Параметры

[in] engineHandle

Тип: HANDLE

Дескриптор открытого сеанса в обработчике фильтров. Вызовите FwpmEngineOpen0 , чтобы открыть сеанс для подсистемы фильтрации.

[in] callout

Тип: FWPM_CALLOUT0*

Добавляемый объект выноски.

[in, optional] sd

Тип: PSECURITY_DESCRIPTOR

Сведения о безопасности, связанные с выноской.

[out, optional] id

Тип: UINT32*

Идентификатор среды выполнения для этой выноски.

Возвращаемое значение

Тип: DWORD

Возвращаемый код или значение Описание
ERROR_SUCCESS
0
Выноска успешно добавлена.
FWP_E_INVALID_PARAMETER
0x80320035
FWPM_TUNNEL_FLAG_POINT_TO_POINT не задано и указаны условия, отличные от локального или удаленного адреса.
Код ошибки FWP_E_*
0x80320001 — 0x80320039
Ошибка, определяемая платформой фильтрации Windows (ПППП). Дополнительные сведения см. в разделе Коды ошибок МПП .
Код ошибки RPC_*
0x80010001 — 0x80010122
Сбой связи с удаленным или локальным обработчиком брандмауэра.

Комментарии

Некоторые поля в структуре FWPM_CALLOUT0 назначаются системой, а не вызывающим, и игнорируются при вызове FwpmCalloutAdd0. Если вызывающий объект предоставляет дескриптор безопасности null, система назначит дескриптор безопасности по умолчанию.

Эту функцию нельзя вызвать из транзакции, доступной только для чтения. Это приведет к сбою при FWP_E_INCOMPATIBLE_TXN. Дополнительные сведения о транзакциях см. в разделе Управление объектами.

Вызывающему объекту требуется FWPM_ACTRL_ADD доступ к контейнеру выноски, FWPM_ACTRL_ADD_LINK доступ к поставщику (если таковой имеется) и FWPM_ACTRL_ADD_LINK доступ к соответствующему уровню. Дополнительные сведения см. в разделе контроль доступа.

Чтобы добавить фильтр, ссылающийся на выноску, вызовите функции в следующем порядке.

  • Вызовите FwpsCalloutRegister (описано в комплекте драйверов Windows (WDK)), чтобы зарегистрировать выноску в подсистеме фильтрации.
  • Вызовите FwpmCalloutAdd0 , чтобы добавить выноску в систему.
  • Вызовите FwpmFilterAdd0 , чтобы добавить фильтр, который ссылается на выноску в систему.
По умолчанию фильтры, ссылающиеся на выноски, которые были добавлены, но еще не зарегистрированы в подсистеме фильтров, обрабатываются как фильтры блокировки.

FwpmCalloutAdd0 — это конкретная реализация FwpmCalloutAdd. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header fwpmu.h
Библиотека Fwpuclnt.lib
DLL Fwpuclnt.dll

См. также раздел

FWPM_CALLOUT0

Режим ядра FwpmCalloutAdd0