如何将INetFw接口用于多个网络连接?

时间:2012-02-29 16:42:55

标签: .net windows-xp firewall windows-firewall windows-firewall-api

Windows XP计算机同时有线和WiFi接口处于活动状态。我的代码必须仅为WiFi连接管理防火墙设置,并忽略有线连接的配置。

我正在使用C#的INetFw接口。我能够枚举这样的开放端口和服务......

    INetFwMgr manager = GetFirewallManager();
    INetFwPolicy policy = manager.LocalPolicy;
    INetFwProfile profile = policy.CurrentProfile;

    foreach (INetFwOpenPort p in profile.GloballyOpenPorts)...
    foreach (INetFwService s in services)...
        foreach (INetFwOpenPort p in s.GloballyOpenPorts)

当我在控制面板中为所有连接添加例外时,我会从我的代码中看到它们。但是,在“控制面板高级”选项卡中为特定连接添加的例外对我的代码不可见。

我无法确定如何确保WiFi连接中的有线连接中的孔未打开。我想只在WiFi连接上打开几个端口。

我是否遗漏了INetFw API中的某些内容来选择我想要管理的连接?

1 个答案:

答案 0 :(得分:0)

找到答案......

INetFwMgr仅公开全局防火墙设置。

INetSharingManager界面显示与“控制面板高级”选项卡对应的设置。

显然,我需要使用这两个接口来了解完整的防火墙配置。