BUG: Win32s 1.3 Bug List

Last reviewed: August 7, 1995
Article ID: Q133026
The information in this article applies to:
  • Microsoft Win32s version 1.3

The following is a list of the known bugs in Win32s version 1.3 at the time of its release.

  • Incorrect context at EXIT_PROCESS_DEBUG_EVENT.
  • Progman gets restored when debugger application exits.
  • Using StartDoc() does not produce document from printer.
  • EM_GETWORDBREAKPROC return code is incorrect.
  • Int 3 cannot be trapped via Structured Exception Handling (SEH) on Win32s.
  • Win32s does not open all files in RAW mode, as Windows NT does.
  • Cannot do ReadProcessMemory (RPM) on memory that has a hardware breakpoint set on it.
  • C run-time functions getdcwd()/getcwd() do not work.
  • GetFullPathName() returns the root directory for any drive that is not the current drive.
  • PlayMetaFileRecord()/EnumMetaFile() contains incorrect lpHTable.
  • Size of memory mapped files is rounded to a whole number of pages, meaning that the size is a multiple of 4096 bytes.
  • Functions chdrive() and SetCurrentDirectory() fail on PCNFS network drives.
  • GetExitCodeProcess() does not return exit codes for 16-bit Windows-based applications.
  • Memory passed to Netbios() must be allocated with GlobalAlloc().
  • biSizeImage field of BITMAPINFOHEADER is zero.
  • CreateFile() on certain invalid long filesnames closes Windows.
  • Only the first CBT hook gets messages.
  • Most registry functions return the Windows 3.1 return codes, not the Windows NT return codes.
  • GlobalReAlloc(x,y,GMEM_MOVEABLE) returns wrong handle type.
  • GetVolumeInformation() fails for Universal Naming Convention (UNC) root path.
  • ResumeThread while debugging writes to debuggee stack.
  • GetShortPathName() doesn't fail with a bad path, as it does on Windows NT.
  • CreateDirectory()/RemoveDirectory() handle errors differently than they do in Windows NT.
  • SetCurrentDirctory() returns different error codes than does Windows NT.
  • FindText() leaks memory.
  • Win32s doesn't support language files other than default (l_intl.nls).
  • spawnl does not pass parameters to an MS-DOS-based application.
  • Win32s does not support forwarded exports.
  • GetDlgItemInt() only translates numbers <= 32767 (a 16-bit integer).
  • Changing system locale in Win32s has no effect until Win32s is loaded again, unlike in Windows NT.
  • Module Management APIs missing ANSI to OEM translation.
  • Stubbed API FindFirstFileW() does not return -1 to indicate failure.
  • FormatMessage() doesn't set last error.
  • FormatMessage() fails with LANG_NEUTRAL | SUBLANG_DEFAULT, but works with LANG_ENGLISH | SUBLANG_ENGLISH_US.
  • After calling CreateFile() on a write-protected floppy disk, GetLastError() returns 2, instead of 19, as it should.
  • MEASUREITEMSTRUCT and DRAWITEMSTRUCT do not have itemID or itemData fields initialized with owner draw menu items.
  • With winhlp32, deleting an annotation in a popup causes an unhandled exception. This occurs with Windows NT 3.51 and Windows 95 as well.
  • SetEnvironmentVariables() does not handle an empty string, an equal sign (=), or foreign lowercase characters in the variable name.
  • With the help authoring switched on with winhlp32, if you use PopupContext with an invalid context number, the error message displayed is "Cannot find the windows.hlp file. Do you want to find it?"
  • With the help authoring switched on with winhlp32, if you use PopupContext with a file that has an .HLP extension but isn't help file, the error message displayed is "Cannot find the windows.hlp file. Do you want to find it?"
  • With the help authoring switched on with winhlp32, if you use PopupContext with a context string that does not exist, no error message is produced.
  • You can still write to a file that was opened with GENERIC_READ.
  • When a file is opened a second time, the attributes are not updated even with CREATE_ALWAYS.
  • PrintDlg() with a NULL hPrintTemplate and PD_ENABLEPRINTTEMPLATE returns 7 (ERROR_ARENA_TRASHED), not 6 (ERROR_INVALID_HANDLE).
  • PrintDlg() does not fail with a NULL hSetupTemplate and the flags PD_ENABLESETUPTEMPLATE | PD_PRINTSETUP. The expected return code is 6 (ERROR_INVALID_HANDLE). Instead, the regular Print Dialog is displayed.
  • PrintDlg() succeeds with a NULL hInstance.
  • PrintDlg() succeeds with a From value that is bigger than the To value.
  • PrintDlg() succeeds with an emptry From value or an emptry To value.
  • The winhlp32 Find tab does not paint correctly.
  • Winhlp32 does not have context-sensitive help for itself.
  • The return value of GetDlgCtrlID() is sign-extended. This causes a problem for IDs greater than 0x7fff.
  • Winhlp32 cannot play .AVI files.
  • The winhlp32 Find highlight feature doesn't work on the first try. After opening and closing the Find options, the problem goes away.
  • When a help file with a .CNT file is brought up from a write-protected floppy disk, there's a system error the first time that the help file is invoked. This does not happen if winhlp32 is invoked from the command line (winhlp32 a:file.hlp) or if the .GID is already created.
  • When you attempt to print a secondary window from Word version 6.0, an application error occurs.
  • When you open up a different help file, the window title changes to the title of the new help file. When you go back to the original help file, the window title does not change back to the original title.
  • When you bring up a help file in File Manager with a .CNT file but no keywords, the Find tab is brought up.
  • TAB keys and hot keys do not work properly in property sheet controls unless the application's message loop calls PropSheet_IsDialogMessage().


Additional reference words: 1.30
KBCategory: kbprg kbbuglist
KBSubcategory: W32s


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 7, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.