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 に答える