FwpmProviderContextAdd3 函数 (fwpmu.h)

将新的提供程序上下文添加到系统。

语法

DWORD FwpmProviderContextAdd3(
  HANDLE                       engineHandle,
  const FWPM_PROVIDER_CONTEXT3 *providerContext,
  PSECURITY_DESCRIPTOR         sd,
  UINT64                       *id
);

参数

engineHandle

类型:_In_ HANDLE

使用筛选器引擎打开的会话的句柄。 若要使用筛选器引擎打开会话,请调用 FwpmEngineOpen0

providerContext

类型:_In_ FWPM_PROVIDER_CONTEXT3*

要添加的提供程序上下文对象。

sd

类型:_In_opt_ PSECURITY_DESCRIPTOR

与提供程序上下文对象关联的可选安全信息。

id

类型:_Out_opt_ UINT64*

指向接收此提供程序上下文的运行时标识符的变量的指针。

返回值

类型: DWORD*

返回代码/值 说明
ERROR_SUCCESS
0
已成功添加提供程序上下文。
ERROR_NOT_SUPPORTED
0x32
FWPM_IPSEC_IKE_MM_CONTEXTIKEEXT_IPV6_CGA 身份验证方法位于 authenticationMethods 数组中,但在注册表中未启用加密生成的地址 (CGA) 。
FWP_E_* 错误代码
0x80320001— 0x80320039
Windows 筛选平台 (WFP) 特定的错误。 有关详细信息,请参阅 WFP 错误代码
RPC_* 错误代码
0x80010001 — 0x80010122
无法与远程或本地防火墙引擎通信。

注解

FWPM_PROVIDER_CONTEXT2 结构中的某些字段由系统而不是调用方分配,并在调用 FwpmProviderContextAdd3 时被忽略。

如果提供 NULL 安全描述符,则系统将分配默认安全描述符。

不能在只读事务中调用此函数。 它将失败并 FWP_E_INCOMPATIBLE_TXN。 有关事务的详细信息,请参阅 对象管理

若要调用此函数,需要 FWPM_ACTRL_ADD 访问提供程序上下文的容器,并 FWPM_ACTRL_ADD_LINK 访问提供程序 ((如果有任何) )。 有关详细信息,请参阅 访问控制

要求

要求
Header fwpmu.h
Library Fwpuclnt.lib
DLL Fwpuclnt.dll