La questione e' che non si puo' fare quanto chiedi.
Il Task Manager indica alcuni come "processi critici" soltanto perche' esso, come applicazione, ne legge il nome e decide che fanno di un elenco di processi da non chiudere, non perche' tali processi abbiano qualcosa in particolare.
Questo e' dimostrato dal fatto che un altro programma come ProcExplorer (sysinternals) chiude *anche* questi processi "critici" a volte generando finanche un BSOD ... E puoi fare anche la prova chiamando un tuo programma scritto in VB
csrss.exe
Quando lo esegui, il Task Manager non te lo fa chiudere ... e non ha nulla di particolare ...
L'unica cosa che evita la terminazione di un processo e' il fatto che il contesto di sicurezza in cui gira tale processo e' "piu' alto" rispetto a quello del processo che lo vuole chiudere.
Per fare in modo che il tuo processo possa girare sotto un contesto di sicurezza tanto elevato da non potere essere terminato da un utente, devi creare un *servizio* e fallo girare sotto il contesto "LocalSystem".
L'articolo a cui hai fatto riferimento riguarda un sistema (il Restart Manager) che si occupa del riavvio dei servizi quando questi (o processi che dipendono da loro) devono essere aggiornati. E' un sistema legato ai meccanismi di installazione che saranno operativi sui prossimi sistemi operativi. E' infatti indicato che i requirements sono
Client: Requires Windows Vista.
Server: Requires Windows Server "Longhorn".