1

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 中的某些内容来选择我要管理的连接?

4

1 回答 1

0

找到了答案...

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

与控制面板高级选项卡对应的设置由 INetSharingManager 界面公开。

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

于 2012-03-06T15:58:31.020 回答