Parameter Validation Differences

If a 32-bit version 3.x application specifies invalid class styles when calling the RegisterClass function, Windows 95 strips out the invalid bits and generates warnings in the system debugger, but allows RegisterClass to succeed anyway. If a 32-bit version 4.0 application passes invalid class styles to RegisterClass, the function fails.

In a version 3.x application, Windows 95 does not validate the length member of the WINDOWPLACEMENT structure that is passed to the GetWindowPlacement and SetWindowPlacement functions. The length member, however, is validated for a version 4.0 application; Windows 95 fails these functions if the value of length is incorrect.

Windows 95 does not validate the cbSize member of the STARTUPINFO structure specified in the CreateProcess and GetStartupInfo functions for applications written for Windows version 3.x. The cbSize member is validated, however, for version 4.0 applications.

In the debugging version of Windows 95, the system fills the specified buffer with zeros up to the length specified by the cbSize parameter when a version 4.0 application calls the LoadString function. The buffer is not filled with zeros for a version 3.x application.