IPのブロック、ファイアウォールの有効化/無効化などのファイアウォールタスクを実行する小さなC#アプリケーションを作成しました。これは、Windows 7 x64で完全に機能しますが、Windows Server2008x64で試してみるとすぐにクラッシュします。これは私のコードがクラッシュする場所のように見えます...
public partial class frmMain : Form
{
private INetFwMgr FWManager;
public frmMain()
{
InitializeComponent();
Type NetFwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
FWManager = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);
if (getFirewallStatus() == true)
UpdateFirewallStatus(true);
else
UpdateFirewallStatus(false);
ListOpenPorts();
}
}
エラーはこれらの線に沿ったものです...
Problem Event Name: CLR20r3
Problem Signature 01: brutalnt.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 4ed589c8
Problem Signature 04: mscorlib
ファイアウォールマネージャを取得するために回線を削除すると、正常に起動しました。では、Server 2008で別の方法で取得する必要がありますか?