home *** CD-ROM | disk | FTP | other *** search
- August '95 Win32s 1.30 Readme.Txt
-
- In \MsTools\Win32s you will find the current release of Win32s,
- Win32s 1.30 This version has many improvements over the previous
- releases of Win32s. As always, support for developers using Win32s
- is available through Microsoft Developer Support. For Microsoft Developer
- Network customers in the U.S. and Canada, the number is (800)936-5800.
- Outside of these countries please contact your local Microsoft office
- to inquire about technical support options available in your region.
-
- Here are some of the differences between this release and Win32s 1.25a:
-
- - Support for the new common controls and common dialogs, to the level of
- Windows NT 3.51. PrintDlg still calls the 16-bit PrintDlg. PageSetupDlg
- does not support the printer status group (Status, Type, Where & Comment
- fields). The animation control is slightly limited in that the AVI APIs
- are not directly supported in Win32s. Also, since Win32s
- relies on Windows 3.1, DIB sections are not supported. This means
- that the ILC_COLOR* flags to ImageList_Create are not supported.
- The supported flags are ILC_MASK, ILC_COLORDDB and ILC_PALETTE.
-
- - Support for the new Windows Help engine (WinHlp32.Exe) that is supported
- by Windows NT 3.51 and Windows 95. Due to the fact that Win32s uses
- the Window manager from Windows 3.1 (User.Exe), the WM_HELP and
- WM_CONTEXTHELP messages are not automatically generated and sent to your
- application. However, your application can look for the right mouse clicks
- and the F1 key and call WinHelp() with the appropriate context IDs.
- Also, WinHlp32 does not support AVIs on Win32s. Win32 applications that
- use the WinHelp() API will automatically use the new WinHelp engine
- in WinHlp32.Exe
-
- - Support for OleDlg.Dll for common OLE Dialogs (such as OleUIInsertObject).
-
- - Support for RichEd32.Dll for Rich Text controls. This works the same
- as on Windows NT 3.51 and Windows 95 except for minor differences for
- controls larger than 64K. The following Edit Control messages need the new
- method to specify a wParam larger than 64K (if the wParam is less than
- 64K then either the normal or new method will work.)
-
- EM_GETLINE EM_GETSEL EM_LINEFROMCHAR EM_LINEINDEX
- EM_LINELENGTH EM_LINESCROLL EM_LIMITTEXT EM_SETSEL
-
- For these messages wParam has the original message value and lParam points
- to a structure that has 2 DWORDS
-
- struct EM_special {
- WPARAM wParam;
- LPARAM lParam;
- };
-
- Instead of using a wMsg value of EM_*, a value of WM_USER+EM_* is used.
- Please note that the WM_USER+EM_* messages are only supported by the
- Win32s version of RichEd32.Dll and not (now or ever) on any other platform.
-
- For example, the following code to get the selection range
-
- SendMessage(EM_GETSEL,
- hwndRichEdit,
- (WPARAM)&lpdwStart,
- (LPARAM)&lpdwEnd);
-
- becomes:
-
- {
- struct {
- WPARAM _wParam;
- LPARAM _lParam;
- } _wlParam = { (WPARAM)&lpdwStart, (LPARAM)&lpdwEnd) };
-
- SendMessage( WM_USER+EM_GETSEL,
- hwndRichEdit,
- EM_GETSEL,
- (LPARAM)&_wlParam);
- }
-
- - New messages SBM_GETSCROLLINFO and SBM_SETSCROLLINFO are not supported.
- However the APIs SetScrollInfo and GetScrollInfo are supported.
-
- - Several of the new components in Win32s require localization
- (e.g. WinHlp32). As a result there are more than just W32Sys.Dll
- and W32s.386 that need to be localized. The localized builds of Win32s
- for a given locale should be available after the localized build of
- Windows NT 3.51 for that locale is released.
-
- Note: The MS-Test group is considering an add-on for MS-Test (16-bit) to
- support testing of the new common controls on Win32s. Please contact
- MS-Test Product Support if you are interested in such an add-on.
-
- Appended is a preliminary version of the Win32s 1.3 Fix List (list of bugs
- fixed in this release over Win32s 1.25a) and the Win32s 1.3 Bug List (list
- of bugs known to exist in this release.)
-
- The most current versions of these can be found in the Microsoft Knowledge
- Base, available via ftp, WWW, Compuserve and other electronic services.
- Snapshots of the Knowledge Base are also available on MSDN and TechNet.
-
- Win32s 1.3 Fix List
-
- -----------------------------------------------------------------------
- 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.25a that
- were fixed in Win32s version 1.3.
-
- - DeviceCapabilities() with DC_BINS and DC_PAPERS are thunked
- incorrectly. The array should be left as is.
-
- - SearchPath() and OpenFile() don't work properly with OEM chars in the
- filename.
-
- - GetSystemInfo() doesn't set correct ProcessorType for the Pentium.
-
- - FindResource() returns a non-NULL handle for a nonexistent resource.
-
- - VirtualProtect() with anything other than PAGE_NOACCESS, PAGE_READ, OR
- PAGE_READWRITE yields unpredictable page protections.
-
- - COMPAREITEMSTRUCT, DELETEITEMSTRUCT, DRAWITEMSTRUCT, AND
- MEASUREITEMSTRUCT incorrectly sign-extend fields.
-
- - GetWindowTextLength() & GetWindowText() incorrectly sign-extend the
- return value.
-
- - MoveFile() fails on Windows for Workgroups when the source is remote and
- the destination is local.
-
- - PrintDlg() fails if the PRINTDLG structure has an illegal size (size
- other than 42).
-
- - Loading resources from a DLL may cause memory and selector leakage.
-
- - FP context is corrupted when an FP exception occurs while using the FP
- emulator.
-
- - If a window class defined in one DLL uses a window function in another
- DLL and this DLL is unloaded before the DLL that defines the window
- class, a GP fault occurs in WIN32S16.DLL when you terminate the process
- from a debugger.
-
- - GetBitmapBits() and SetBitmapBits() return the wrong value. The return
- code is not converted from dx:ax to eax.
-
- - FindResource() does not set the last error code to a proper value.
-
- - NLS APIs fail when AnsiCP in the [NLS] section of WIN32S.INI is set to
- the code page of the machine (473 on U.S. machines).
-
- - _tzset() in CRTDLL.DLL can cause a GP fault.
-
- - FP Emulator ftsp st(x) when st(x) is empty does not pop a NAN leaving
- an extra value on the FP stack.
-
- REFERENCES
- ==========
-
- For the list of known bugs in Win32s version 1.2 that were fixed in
- Win32s version 1.25a, please see the following article in the Microsoft
- Knowledge Base.
-
- ARTICLE-ID: Q130139
- TITLE : Win32s 1.25a Fix List
-
- Additional reference words: 1.30
- KBCategory: kbprg kbfixlist kbbuglist
- KBSubcategory: W32s
-
- Win32s 1.3 Bug List
-
- -----------------------------------------------------------------------
- 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 app 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 on
- Windows NT.
-
- - SetCurrentDirctory() returns different error codes than on 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 will not have an effect until Win32s
- is loaded again, unlike on 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 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 on 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 with an .HLP extension that is not a 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 > 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, there is 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 attempting to print a secondary window from Word 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 bringing 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 message loop calls PropSheet_IsDialogMessage().
-
- Additional reference words: 1.30
- KBCategory: kbprg kbbuglist
- KBSubcategory: W32s
-