Thanks a lot for your information. I am writing a service which is a socket application, which manages IP address on that perticular machine. Something similar to DHCP client, but does removes IP address in certian conditions. Now I have a requirement that, even if system freezes because of some reason, my service application needs to run. I was thinking if I can make it run in kernel mode thread. It has no UI, but definitely it needs to be a service.