FwpmProviderAdd0 函数 (fwpmk.h)
FwpmProviderAdd0 函数向系统添加新提供程序。
语法
NTSTATUS FwpmProviderAdd0(
[in] HANDLE engineHandle,
[in] const FWPM_PROVIDER0 *provider,
[in, optional] PSECURITY_DESCRIPTOR sd
);
参数
[in] engineHandle
筛选引擎打开的会话句柄。 调用 FwpmEngineOpen0 以打开筛选器引擎的会话。
[in] provider
要添加的提供程序对象。
[in, optional] sd
提供程序对象的安全信息。
返回值
返回代码/值 | 描述 |
---|---|
ERROR_SUCCESS 0 |
已成功添加提供程序。 |
FWP_E_* 错误代码 0x80320001 — 0x80320039 |
Windows 筛选平台(WFP)特定错误。 有关详细信息,请参阅 WFP 错误代码。 |
RPC_* 错误代码 0x80010001 — 0x80010122 |
无法与远程或本地防火墙引擎通信。 |
其他 NTSTATUS 代码 | 发生错误。 |
言论
如果调用方提供 null 安全描述符,系统将分配默认的安全描述符。
启动时对象会在 TCP/IP 驱动程序启动时添加到基本筛选引擎(BFE),并在 BFE 完成初始化后删除。 在 BFE 启动时添加持久性对象。 如果策略提供程序具有在禁用其关联服务时不应强制执行的永久性策略,则调用方可以在 FWPM_PROVIDER0 结构中指定可选服务名称。 然后,此服务拥有持久性策略对象。 首先,BFE 仅向系统添加以下类型的持久性对象。
- 对象不与提供程序关联。
- 该对象具有未指定服务名称的关联提供程序。
- 该对象具有关联的提供程序,并将关联的服务设置为自动启动。
不能从只读事务中调用此函数,它失败并 FWP_E_INCOMPATIBLE_TXN。 有关事务的详细信息,请参阅 对象管理。
调用方需要 FWPM_ACTRL_ADD 访问提供程序的容器。 有关详细信息,请参阅 访问控制。
FwpmProviderAdd0 是 FwpmProviderAdd的特定实现。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
目标平台 | 普遍 |
标头 | fwpmk.h |
库 | fwpkclnt.lib |
IRQL | <= PASSIVE_LEVEL |