Microsoft KB Archive/113739

BUG: Win32s 1.1 Bug List PSS ID Number: Q113739 Article last modified on 05-01-1994

1.10

WINDOWS

= SUMMARY =

The following is a list of known problem in Win32s version 1.1. Microsoft has confirmed these to be problems in Win32s version 1.1. Problems marked with a hyphen (“-”) will be corrected in Win32s version 1.15. Problems marked with an asterisk (&quot;*&quot;) will be corrected in Win32s version 1.2.

  Setup fails if there are 40 groups in Program Manager.   WinFile generates a general protection (GP) fault while viewing file properties.   The Universal Thunk (UT) callback returns a WORD, rather than a DWORD.   The LA (linear address) Table is limited to 256 entries. This limits the number of VirtualAlloc calls that will succeed.   Win32s does not handle paths that contain an ampersand (“&”) or a number sign (“#”).   FP (floating point) exceptions are not trapped by SEH (structured exception handling. FP exceptions in 32-bit code which are called from 16-bit code via UT can cause a GP fault in WIN87EM.   Thread Local Storage (TLS) data is allocated from a limited heap size. This can cause applications that use a lot of TLS data to fail to load.   CB_FINDSTRING and LB_FINDSTRINGEXACT are not thunked correctly from a 16-bit application to a 32-bit application. </li>  Dialog templates passed from a 32-bit applications are corrupted. </li>  If a DDE client responds to INITIATE for which it is also the server, lParam is packed incorrectly. </li>  fstat always returns that rt_mode is read/write. </li>  chdrive does not retain the current working directory. chdrive always uses the root directory. </li>  ChooseFont’s referenced CHOOSEFONT structure has blue value set to 0 with CF_EFFECTS. </li>  CopyFile uses the current time rather than the file time. </li>  CreateFile does not parse UNC names correctly. </li>  CreateProcess does not set current directory correctly. </li>  CreateProcess ignores window size and window position. </li>  CreateProcess debug version corrupts the environment if lpApplicationName != NULL. </li>  CreateProcess returns failure if the child does not call GetMessage or yield in some way before control goes to the parent. </li>  CreateProcess’s dwFlags is ignored when starting Win16 applications, while wShowWindow is always passed. </li>  CreateWindowEx’s CW_USEDEFAULT flag is not handled, which causes problems with using WM_VISIBLE. </li>  EnumMetaFile’s handles array is corrupted. </li>  EnumPropsEx enumerates non-existing properties. </li>  EqualRect returns TRUE for rectangles that are lines. </li> <li> FindFirstFile error code is set to ERROR_NO_MORE_FILES instead of ERROR_FILE_NOT_FOUND if there are no matches for the search pattern. </li> <li> FindFirstFile may use a bad DTA, causing stack corruption. </li> <li> GetClassInfo WNDCLASS buffer is corrupted if passed an invalid class. </li> <li> GetFileInformationByHandle support added in version 1.15, but file attribute returned is always 0. </li> <li> GetFilePointer returns valid value when given invalid handle. </li> <li> GetFileSize moves the file pointer. </li> <li> GetFileVersionSize causes a GP fault when 16-bit applications for Windows call the function from a 32-bit DLL. </li> <li> GetKerningPairs results are not in Win32 format. </li> <li> GetModuleFileName causes the OFSTRUCT structure to be truncated in 16- bit applications calling this function on a 32-bit DLL. </li> <li> GetModuleFileName’s char count returned includes the terminating NULL character. </li> <li> GetOpenFileName call fails with OFN_ENABLETEMPLATEHANDLE. </li> <li> GetOpenFileName has a hook you can use to trap WM_INITDIALOG to get the address of OPENFILENAME struct, but the pointer is corrupted by the next message. </li> <li> GetOutlineTextMetrics returns OUTLINETEXTMETRIC structure with Windows 3.1 format rather than Win32 format. </li> <li> GetOutlineTextMetrics’s OUTLINETEXTMETRIC UnderscorePosition, UnderscoreSize, and otmItalicAngle are incorrect. </li> <li> GetSystemInfo returns an incorrect lpMinimumApplicationAddress and an incorrect lpMaximumApplicationAddress. </li> <li> GlobalCompact exception occurs when the value is larger than available memory. </li> <li> HeapAlloc/malloc are slow because debug check was left in the code. </li> <li> IsCharAlpha returns 0 for characters 128-255. </li> <li> LoadLibrary fails to report unsucessful load of 16-bit DLLs (should return ERROR_BAD_EXE_FORMAT). </li> <li> LoadLibrary fails after 4591 calls due to a memory leak. </li> <li> LoadLibrary was fixed to work from a 32-bit DLL called by a 16-bit application. </li> <li> LoadModule does not pass cmdshow so applications get SW_SHOWNORMAL. </li> <li> LocalAlloc fixed to work from a 32-bit DLL called by a 16-bit application. </li> <li> MultiByteToWideChar has the wrong string returned with USE_GLYPHCHARS. </li> <li> NetAccessAdd, NetApiBufferAllocate, NetUseGetInfo, and NetUserSetGroups all are not exported by NETAPI32.DLL. NOTE: These functions are not supported. </li> <li> OpenFile does not parse UNC names correctly. </li> <li> PeekMessage causes RIP in debug windows if hwnd is NULL. </li> <li> PlayMetaFileRecord’s handles array is corrupted. </li> <li> PolyPolygon fails with more than 16 polygons. </li> <li> PrintDlg incorrectly frees global memory and fails with MFC sample. </li> <li> SetClipboardData’s 32-bit memory is not freed when clipboard is emptied. </li> <li> SetErrorMode’s SEM_NOOPENFILEERRORBOX does not work. The message box still appears. </li> <li> SetFilePointer returns a valid value if given an invalid handle. </li> <li> SetProp’s seventeeth call fails if lpsz is a string rather than an atom. </li> <li> SetWindowLong’s GWL_USERDATA always returns 1. </li> <li> TrackMenuPopup’s optional lprc parameter is not handled correctly. </li> <li> waveOutGetDevCaps’s WAVEOUTCAP buffer not filled correctly for the SoundBlaster. </li> <li> waveOutWrite’s WOM_DONE messages are not posted with multiple buffers and loop play. </li> <li> WinExec will cause 16-bit applications which are launched to GP fault. </li></ul>

Additional reference words: 1.10 KBCategory: Prg KBSubCategory: W32s

=
================================================================

Copyright Microsoft Corporation 1994.