Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Gestire il firewall di Vista da codice .NET managed
Scritto da Paolo De Nictolis il 14-06-2007 ore 10:00
Lo sviluppatore tedesco (di adozione) George Mamaladze ha cominciato ad interessarsi del firewall di Vista per poter gestire il deployment di applicazioni, ma è rimasto ben presto stupito, parole sue, dalle "illimitate possibilità" offerte dalla firewalling API in termini di gestione della configurazione, molto più utile e trasparente dell'API per il firewall di Windows XP SP2. Non esistendo, ad oggi, una versione in codice .NET managed che permetta di usare la libreria NetFwTypeLib (C: | windows | system32 | FirewallAPI.dll), ha pensato bene di svilupparne una propria.

Per sua stessa ammissione, la libreria gma.Windows.Firewall copre solo il 5% delle sterminate funzionalità offerte da FirewallAPI.dll, ma come si suol dire ogni saga ha un inizio, e non dubito che Mamaladze troverà chi lo aiuterà in questo utile compito. L'articolo di presentazione copre solo l'uso di base, ovvero l'instanziazione della classe Policy per recuperare le regole del firewall mediante l'uso dei generics, e la loro presentazione mediante il potente controllo GridView. Viene anche sottolineato il largo uso di classi interne per nascondere le chiamate COM ed esporre codice 100% managed.

Ma nella libreria, com'è lecito aspettarsi, c'è molto di più: Rule è una classe di sole proprietà in lettura/scrittura, a sua volta ereditata da Rules, che recupera l'elenco delle proprietà del firewall tramite un semplice ciclo che usa i citati generics ed una classe interna che legge da INetFwRules; ma il cuore della libreria è sicuramente Policy.cs. Questa classe, dopo aver creato nel costruttore un'istanza da ProgID di HNetCfg.FwPolicy2, recupera tramite reflection tutte le impostazioni del firewall, dalle regole alle interfacce, alle restrizioni di servizio alle notifiche, facendo uso in gran parte di classi helper che sono, in sostanza, dei tipi enumeration. Il progetto di esempio è un capolavoro di semplicità, grazie soprattutto alla potenza e versatilità dei controlli .NET 2.0: si riduce, in tutto, a tre righe di codice, una delle quali istanzia la classe Policy, mentre le altre due ne sfruttano i metodi per popolare due controlli PropertyGrid e GridView.
Precedente: Breve corso sui CSS: strumenti e utilità
Successiva: Microsoft e Linspire, un altro patto tecnologico
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.906 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.