INetFwMgr::IsIcmpTypeAllowed 方法 (netfw.h)
[Windows 防火墙 API 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 对于 Windows Vista 及更高版本,建议使用 具有高级安全 API 的 Windows 防火墙 。]
确定是否允许指定的 ICMP 类型。
语法
HRESULT IsIcmpTypeAllowed(
[in] NET_FW_IP_VERSION ipVersion,
[in] BSTR localAddress,
[in] BYTE type,
[out] VARIANT *allowed,
[out] VARIANT *restricted
);
参数
[in] ipVersion
流量的 IP 版本。 这不能 NET_FW_IP_VERSION_ANY。
流量的 IP 版本。 这不能 NET_FW_IP_VERSION_ANY。
[in] localAddress
一个点十进制 IPv4 地址或 IPv6 十六进制地址,用于指定流量的本地地址。 通常,这是传递给绑定的地址。 如果 localAddress 为 NULL,则该函数确定是否允许所有接口使用端口。
[in] type
ICMP 类型。 有关可能的 ICMP 类型的列表,请参阅 ICMP 类型编号。
[out] allowed
指示值 VARIANT_TRUE 或 VARIANT_FALSE是否允许端口用于至少一些本地接口和远程地址。
[out] restricted
指示值 VARIANT_TRUE 或 VARIANT_FALSE此端口是否阻止某些本地接口或远程地址。 例如,如果端口仅限于本地子网。
返回值
C++
返回代码 | 说明 |
---|---|
|
由于权限问题,操作已停止。 |
|
方法失败,因为参数无效。 |
|
方法无法分配所需的内存。 |
|
方法失败,因为指针无效。 |
VB
如果该方法成功,则返回值 S_OK。如果方法失败,则返回值为以下错误代码之一。
返回代码 | 说明 |
---|---|
|
由于权限问题,操作已停止。 |
|
方法失败,因为参数无效。 |
|
方法无法分配所需的内存。 |
|
方法失败,因为指针无效。 |
注解
通常建议使用 INetFwPolicy2::IsRuleGroupEnabled 方法代替此方法。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista、Windows XP SP2 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 SP1 [仅限桌面应用] |
目标平台 | Windows |
标头 | netfw.h |
DLL | FirewallAPI.dll;使用 SP2 在 Windows XP 上 Hnetcfg.dll |