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
返回代码/值 | 说明 |
---|---|
|
会话已成功启动。 |
|
已打开具有指定 sessionKey 的会话 。 |
|
Windows 筛选平台 (WFP) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码 。 |
|
无法与远程或本地防火墙引擎通信。 |
备注
在添加或删除任何筛选器对象之前,用户应用程序必须调用 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 |