Microsoft KB Archive/193362

{|
 * width="100%"|

BUG: SetupPromptReboot Does Not Reset Windows 95 or 98

 * }

Q193362

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK), on platform(s):
 * Microsoft Windows 95
 * Microsoft Windows 98

-

SYMPTOMS
The SDK documentation states that SetupPromptReboot is being supported on Windows NT, Windows 95, and Windows 98. However, SetupPromptReboot does not work correctly under Windows 95 or Windows 98. Under Windows 95 or Windows 98, a call to SetupPromptReboot returns the following error message:

You must quit this program before you quit Windows.

Click OK to quit the program and Windows, or click Cancel to continue running the program and Windows.

When you click OK the application does not immediately terminate, but a window appears with the option to End Task after a few moments. If you choose to End Task, you reset your computer. This behavior is consistent for version 4.0 of the Setupapi.dll, and the behavior might change with newer versions of Setupapi.dll.

NOTE: SetupPromptReboot works correctly under Windows NT.

RESOLUTION
If you have a Setup API application that runs under a Windows 95 or Windows 98 computer, do not use SetupPromptReboot. Instead, use the sample code in the article listed below.

For additional information, please see the following article in the Microsoft Knowledge Base:

"Q168690 HOWTO: Programmatically Force a Log off on Windows 95/98" NOTE: Pass the flag EWX_REBOOT rather than EWX_LOGOFF in the function ExitWindowsEx. The function call will appear as:

"ExitWindowsEx(EWX_REBOOT, 0)" This restarts the computer instead of logging off.

STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

Steps to Reproduce Behavior
 Create a new console application. Add a file to the project, such as MyBoot.C.  Add the following sample code:      #include    // Includes basic windows functionality. #include  // Includes the SetupAPI. #pragma comment(lib,"SetupAPI.lib") //Inform linker to use SetupAPI.

main {        SetupPromptReboot(0,0,FALSE); return 0; }  Compile and run the program on a Windows 95 or Windows 98 computer.

Additional query words:

Keywords : kbAPI kbOSWin95 kbOSWin98

Issue type : kbbug

Technology : kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWin32sSearch