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) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码
RPC_* 错误代码
0x80010001 — 0x80010122
无法与远程或本地防火墙引擎通信。

备注

在添加或删除任何筛选器对象之前,用户应用程序必须调用 FwpmEngineOpen0 以获取筛选器引擎的打开会话的句柄。 大多数其他 Windows 筛选平台管理功能也需要筛选器引擎的打开会话的句柄。

当程序结束时,会话会自动关闭。 若要显式关闭会话,请调用 FwpmEngineClose0

如果 会话标志 设置为 FWPM_SESSION_FLAG_DYNAMIC,会话结束时,将自动删除会话期间添加的任何 WFP 对象。 如果会话不是动态的,调用方需要显式删除会话期间添加的所有 WFP 对象。

调用方需要 FWPM_ACTRL_OPEN 筛选器引擎的访问权限。 有关详细信息,请参阅访问控制

FwpmEngineOpen0 仅适用于非模拟模式。

FwpmEngineOpen0 是 FwpmEngineOpen 的特定实现。 有关详细信息 ,请参阅 WFP 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
标头 fwpmu.h
Library Fwpuclnt.lib
DLL Fwpuclnt.dll

另请参阅

Authentication-Service 常量

FWPM_SESSION0

FwpmEngineClose0

内核模式 FwpmEngineOpen0

SEC_WINNT_AUTH_IDENTITY_A