Best Practices for Minimizing Unresponsive Services

Affected Platform

Clients – Windows Vista | Windows 7


Unresponsive services can result in timeouts, terminated sessions, and even lost data. Employing best practices can greatly reduce the occurrence of unresponsive services.

Best Practices

Make sure your applications and all of their dependent services and drivers respond to system power and shutdown notifications.

  • All applications should respond promptly and appropriately to shutdown messages such as WM_QUERYENDSESSION and WM_ENDSESSION that indicate a shutdown is in progress.
  • All services should promptly respond to SCM shutdown notifications. If they fail to do so, the machine treats them as unresponsive and initiates a 20-second time-out and stops them, opening up the possibility of lost data. This also adds 20 seconds to the shutdown time of a machine shutdown.
  • All services that have kernel device driver dependencies should respond promptly and appropriately to IRP_MJ_SHUTDOWN notification in their DispatchShutdown routines.

Links to Other Resources

Windows Performance Toolkit