Ich würde die
Unit so ändern, dass die Funktionen IsFirewallServiceActive und IsFirewallActive im Interface Abschnitt der
Unit liegen, denn das könnte durchaus für den Aufrufer von Interesse sein.
Ich habe noch weitere Änderungen gemacht und kommentiert und würde vorschlagen diese Änderungen (ohne meine Kommentare) im orginalen Sourcecode vorzunehmen.
Delphi-Quellcode:
unit FirewallTools;
interface
procedure AddToWinFirewall(
const {<-} ApplicationFilename, NameOnExeptionlist:
string;
Enabled: Boolean);
procedure DeleteFromWinFirewall(
const {<-} ApplicationFilename:
string);
function IsFirewallServiceActive: Boolean;
function IsFirewallActive: Boolean;
implementation
uses ComObj, Variants, WINSVC;
// verlagert von Interface nach hier
const // die Konstanten brauchen nicht veröffentlicht werden
NET_FW_SCOPE_ALL = 0;
NET_FW_IP_VERSION_ANY = 2;
FW_MGR_CLASS_NAME = '
HNetCfg.FwMgr';
FW_AUTHORIZEDAPPLICATION_CLASS_NAME = '
HNetCfg.FwAuthorizedApplication';