Service Control Handler May Not Receive SERVICE_CONTROL_SHUTDOWN Notification

ID: Q230449


The information in this article applies to:
  • Microsoft Windows NT Server version 4.0 SP4
  • Microsoft Windows NT Workstation version 4.0 SP4
  • Microsoft Windows NT Server, Enterprise Edition version 4.0 SP4
  • Microsoft Windows NT Server version 4.0 SP4, Terminal Server Edition


SYMPTOMS

The service control handler function and the console control handler function registered by a service may not receive SERVICE_CONTROL_SHUTDOWN or CTRL_SHUTDOWN_EVENT notifications.


CAUSE

This behavior can occur if a user is not logged on locally to the computer and the computer is shut down programmatically (by a program).


RESOLUTION

Windows NT

To resolve this problem, obtain the latest service pack for Windows NT 4.0 or the individual software update. For information on obtaining the latest service pack, please go to:
For information on obtaining the individual software update, contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.asp

Terminal Server Edition

To resolve this problem, obtain the latest service pack for Windows NT Server 4.0, Terminal Server Edition. For additional information, please see the following article in the Microsoft Knowledge Base:
Q152734 How to Obtain the Latest Windows NT 4.0 Service Pack


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was first corrected in Windows NT 4.0 Service Pack 6 and Windows NT Server 4.0, Terminal Server Edition, Service Pack 5.


MORE INFORMATION

A program that runs as a service can call RegisterServiceCtrlHandler to register a service control handler function for handling its service control requests, and can register a console control handler using SetConsoleCtrlHandler for receiving control events. If the computer is shut down programmatically by using ExitWindowsEx or InitiateSystemShutdown, the service control handler should receive a SERVICE_CONTROL_SHUTDOWN notification and the console control handler should receive a CTRL_LOGOFF_EVENT notification followed by a CTRL_SHUTDOWN_EVENT notification.

If the computer is shut down manually by the user at the console or programmatically when a user is logged on to the computer locally, the service control handler receives a SERVICE_CONTROL_SHUTDOWN notification and the console control handler receives a CTRL_LOGOFF_EVENT notification followed by a CTRL_SHUTDOWN_EVENT notification as expected.

Additional query words: event 6008 shutdown.exe

Keywords : kbbug4.00 kbfix4.00 kbKernBase kbSDKPlatform kbSDKWin32 kbService kbDSupport kbGrpKernBase
Version : winnt:4.0 SP4
Platform : winnt
Issue type : kbbug


Last Reviewed: December 29, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.