Поделиться через


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

Функция FwpmEngineOpen0 открывает сеанс для обработчика фильтров.

Синтаксис

DWORD FwpmEngineOpen0(
  [in, optional] const wchar_t             *serverName,
  [in]           UINT32                    authnService,
  [in, optional] SEC_WINNT_AUTH_IDENTITY_W *authIdentity,
  [in, optional] const FWPM_SESSION0       *session,
  [out]          HANDLE                    *engineHandle
);

Параметры

[in, optional] serverName

Тип: const wchar_t*

Это значение должно иметь значение NULL.

[in] authnService

Тип: UINT32

Указывает используемую службу проверки подлинности. Разрешенные службы — RPC_C_AUTHN_WINNT и RPC_C_AUTHN_DEFAULT.

[in, optional] authIdentity

Тип: SEC_WINNT_AUTH_IDENTITY_A*

Учетные данные для проверки подлинности и авторизации для доступа к подсистеме фильтрации. Этот указатель является необязательным и может иметь значение NULL. Если этот указатель имеет значение NULL, используются учетные данные вызывающего потока.

[in, optional] session

Тип: FWPM_SESSION0*

Параметры, относящиеся к сеансу, для открываемого сеанса. Этот указатель является необязательным и может иметь значение NULL.

[out] engineHandle

Тип: HANDLE*

Дескриптор открытого сеанса в подсистеме фильтрации.

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

Тип: DWORD

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

Комментарии

Пользовательское приложение должно вызвать FwpmEngineOpen0 , чтобы получить дескриптор открытого сеанса для модуля фильтрации перед добавлением или удалением объектов фильтра. Дескриптор открытого сеанса подсистемы фильтрации также требуется для большинства других функций управления платформой фильтрации Windows.

Сеанс автоматически закрывается после завершения программы. Чтобы явно закрыть сеанс, вызовите FwpmEngineClose0.

Если сеанс. Для флагов задано значение FWPM_SESSION_FLAG_DYNAMIC, все объекты ВПП, добавленные во время сеанса, автоматически удаляются по завершении сеанса. Если сеанс не является динамическим, вызывающий объект должен явно удалить все объекты ВПП, добавленные во время сеанса.

Вызывающему объекту требуется FWPM_ACTRL_OPEN доступ к подсистеме фильтрации. Дополнительные сведения см. в разделе контроль доступа.

FwpmEngineOpen0 предназначен только для использования в режиме без олицетворения.

FwpmEngineOpen0 — это конкретная реализация FwpmEngineOpen. Дополнительные сведения см. в разделах ИМЕНА Version-Independent ВПП и Выбор конкретных версий Windows .

Примеры

В следующем примере C++ для открытия сеанса фильтрации используется FwpmEngineOpen0 .

// Open a session to the filter engine
        
HANDLE    engineHandle = NULL;
DWORD    result = ERROR_SUCCESS; 

printf("Opening the filter engine.\n");
        
result = FwpmEngineOpen0(
    NULL, 
    RPC_C_AUTHN_WINNT, 
    NULL,
    NULL, 
    &engineHandle );

if (result != ERROR_SUCCESS)
    printf("FwpmEngineOpen0 failed. Return value: %d.\n", result); 
else
    printf("Filter engine opened successfully.\n");

Требования

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

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

Константы службы проверки подлинности

FWPM_SESSION0

FwpmEngineClose0

Режим ядра FwpmEngineOpen0

SEC_WINNT_AUTH_IDENTITY_A