netfw.h) (PFN_FWUPDATEDYNAMICKEYWORDADDRESS0 回调函数
服务中为使用输入 ID 更新动态关键字 (keyword) 地址而调用的入口点的函数指针类型。
注意
此免费函数的指针类型通过 NetFw.h
发布,但不会发布静态链接库。 使用 LoadLibraryExW/GetProcAddress 模式调用此函数。
调用 GetProcAddress 时,将句柄传递给 firewallapi.dll 模块,并将 FWFreeDynamicKeywordAddressData0 作为 lpProcName 参数传递。
有关详细信息和代码示例,请参阅 防火墙动态关键字。
语法
PFN_FWUPDATEDYNAMICKEYWORDADDRESS0 PfnFwupdatedynamickeywordaddress0;
DWORD PfnFwupdatedynamickeywordaddress0(
GUID dynamicKeywordAddressId,
PCWSTR updatedAddresses,
BOOL append
)
{...}
参数
dynamicKeywordAddressId
类型: GUID
要更新的动态关键字 (keyword) 地址对象的 ID。
updatedAddresses
类型: PCWSTR
用于更新对象的 IP 地址、子网或范围的逗号分隔列表。
append
类型: BOOL
设置为 TRUE,updatedAddresses 将追加到对象的当前地址列表。 设置为 FALSE,updatedAddresses 将替换对象的当前地址列表。
返回值
类型: DWORD
如果函数成功 (对象) 成功更新,则返回 ERROR_SUCCESS。 否则,它将返回以下值之一。
返回值 | 说明 |
---|---|
ERROR_ACCESS_DENIED | 调用方没有对具有指定 ID 的对象进行操作的适当权限。 在 MDM 托管 的非 AutoResolve 对象上调用此 API 时,会发生此错误。 |
ERROR_INVALID_PARAMETER | 常见错误条件包括:不存在具有指定 ID 的对象;地址的格式无效。 |
注解
如果 append 为 TRUE,则输入地址将追加到对象的当前地址列表。 如果输入参数是对象中已设置的地址的副本,则会将其丢弃,并返回 ERROR_SUCCESS 。
如果地址与动态关键字 (keyword) 地址的现有地址字段中的值完全等效,防火墙服务会将该地址视为重复地址。 重复值基于单个元素进行考虑,因此使用 IP 地址列表的更新可能只放弃了一部分重复输入。 例如,如果动态关键字 (keyword) 地址对象包含 127.0.0.0-127.0.0.255
,则将放弃 或 127.0.0.0/24
的任何输入127.0.0.0-127.0.0.255
。 但是,不会放弃诸如 的 127.0.0.0-127.0.0.40
输入,因为这是子集,而不是直接重复项。
如果 append 为 FALSE,则输入将覆盖对象的当前地址列表。
源自 MDM 的非 AutoResolve 对象将导致ERROR_ACCESS_DENIED。
通过 API 或 PowerShell) 在本地 (创建的非 AutoResolve 对象通过此 API 进行更新。
可通过此 API 更新任何源的 AutoResolve 对象。
若要清除对象的地址,请为 updatedAddresses 值传入 NULL。
updatedAddresses 参数的有效格式是 IP 地址令牌的逗号分隔列表。 令牌可以是单个 IP 地址、范围或子网。 有效的令牌格式包括:
- 有效的 IPv4 地址 (,例如 10.0.0.10)
- 有效的 IPv6 地址 (,例如 2620:1ec:c11::200)
- 格式为 <开始>地址结束<地址>的 IPv4 地址范围, (不包含空格,例如 10.0.0.0-10.0.0.255)
- 格式为开始地址>-<结束地址>的 <IPv6 地址范围, (不包含空格,例如 2001:db8:abcd:12::-2001:db8:abcd:12:ffff:ffff:ffff:ffff)
- 使用网络前缀表示法指定的有效 IPv4 子网, (例如 10.0.0.0/24)
- 使用前缀长度表示法 (指定的有效 IPv6 子网,例如 2001:db8:abcd:0012::0/64)
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10内部版本 20348 |
最低受支持的服务器 | Windows 10内部版本 20348 |
目标平台 | Windows |
标头 | netfw.h |
DLL | firewallapi.dll |