home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / sdk / win32s / readme.txt < prev   
Encoding:
Text File  |  1995-07-11  |  12.8 KB  |  337 lines

  1. August '95 Win32s 1.30 Readme.Txt
  2.  
  3. In \MsTools\Win32s you will find the current release of Win32s,
  4. Win32s 1.30  This version has many improvements over the previous
  5. releases of Win32s.  As always, support for developers using Win32s
  6. is available through Microsoft Developer Support.  For Microsoft Developer
  7. Network customers in the U.S. and Canada, the number is (800)936-5800.
  8. Outside of these countries please contact your local Microsoft office
  9. to inquire about technical support options available in your region.
  10.  
  11. Here are some of the differences between this release and Win32s 1.25a:
  12.  
  13.  - Support for the new common controls and common dialogs, to the level of
  14.    Windows NT 3.51.  PrintDlg still calls the 16-bit PrintDlg.  PageSetupDlg
  15.    does not support the printer status group (Status, Type, Where & Comment
  16.    fields).  The animation control is slightly limited in that the AVI APIs
  17.    are not directly supported in Win32s.  Also, since Win32s
  18.    relies on Windows 3.1, DIB sections are not supported.  This means
  19.    that the ILC_COLOR* flags to ImageList_Create are not supported.
  20.    The supported flags are ILC_MASK,  ILC_COLORDDB and ILC_PALETTE.
  21.  
  22.  - Support for the new Windows Help engine (WinHlp32.Exe) that is supported
  23.    by Windows NT 3.51 and Windows 95.  Due to the fact that Win32s uses
  24.    the Window manager from Windows 3.1 (User.Exe), the WM_HELP and
  25.    WM_CONTEXTHELP messages are not automatically generated and sent to your
  26.    application. However, your application can look for the right mouse clicks
  27.    and the F1 key and call WinHelp() with the appropriate context IDs.
  28.    Also, WinHlp32 does not support AVIs on Win32s.  Win32 applications that
  29.    use the WinHelp() API will automatically use the new WinHelp engine
  30.    in WinHlp32.Exe
  31.  
  32.  - Support for OleDlg.Dll for common OLE Dialogs (such as OleUIInsertObject).
  33.  
  34.  - Support for RichEd32.Dll for Rich Text controls.  This works the same
  35.    as on Windows NT 3.51 and Windows 95 except for minor differences for
  36.    controls larger than 64K.  The following Edit Control messages need the new
  37.    method to specify a wParam larger than 64K (if the wParam is less than
  38.    64K then either the normal or new method will work.)
  39.  
  40.       EM_GETLINE      EM_GETSEL       EM_LINEFROMCHAR  EM_LINEINDEX
  41.       EM_LINELENGTH   EM_LINESCROLL   EM_LIMITTEXT     EM_SETSEL
  42.  
  43.    For these messages wParam has the original message value and lParam points
  44.    to a structure that has 2 DWORDS
  45.  
  46.       struct EM_special {
  47.           WPARAM wParam;
  48.           LPARAM lParam;
  49.       };
  50.  
  51.    Instead of using a wMsg value of EM_*, a value of WM_USER+EM_* is used.
  52.    Please note that the WM_USER+EM_* messages are only supported by the
  53.    Win32s version of RichEd32.Dll and not (now or ever) on any other platform.
  54.  
  55.    For example, the following code to get the selection range
  56.  
  57.       SendMessage(EM_GETSEL,
  58.                   hwndRichEdit,
  59.                   (WPARAM)&lpdwStart,
  60.                   (LPARAM)&lpdwEnd);
  61.  
  62.    becomes:
  63.  
  64.       {
  65.        struct {
  66.          WPARAM _wParam;
  67.          LPARAM _lParam;
  68.        } _wlParam = { (WPARAM)&lpdwStart, (LPARAM)&lpdwEnd) };
  69.  
  70.        SendMessage( WM_USER+EM_GETSEL,
  71.                     hwndRichEdit,
  72.                     EM_GETSEL,
  73.                     (LPARAM)&_wlParam);
  74.       }
  75.  
  76.  - New messages SBM_GETSCROLLINFO and SBM_SETSCROLLINFO are not supported.
  77.    However the APIs SetScrollInfo and GetScrollInfo are supported.
  78.  
  79.  - Several of the new components in Win32s require localization
  80.    (e.g. WinHlp32).  As a result there are more than just W32Sys.Dll
  81.    and W32s.386 that need to be localized. The localized builds of Win32s
  82.    for a given locale should be available after the localized build of
  83.    Windows NT 3.51 for that locale is released.
  84.  
  85. Note: The MS-Test group is considering an add-on for MS-Test (16-bit) to
  86.    support testing of the new common controls on Win32s.  Please contact
  87.    MS-Test Product Support if you are interested in such an add-on.
  88.  
  89. Appended is a preliminary version of the Win32s 1.3 Fix List (list of bugs
  90. fixed in this release over Win32s 1.25a) and the Win32s 1.3 Bug List (list
  91. of bugs known to exist in this release.)
  92.  
  93. The most current versions of these can be found in the Microsoft Knowledge
  94. Base, available via ftp, WWW, Compuserve and other electronic services.
  95. Snapshots of the Knowledge Base are also available on MSDN and TechNet.
  96.  
  97. Win32s 1.3 Fix List
  98.  
  99. -----------------------------------------------------------------------
  100. The information in this article applies to:
  101.  
  102.  - Microsoft Win32s version 1.3
  103. -----------------------------------------------------------------------
  104.  
  105. The following is a list of the known bugs in Win32s version 1.25a that
  106. were fixed in Win32s version 1.3.
  107.  
  108.  - DeviceCapabilities() with DC_BINS and DC_PAPERS are thunked
  109.    incorrectly. The array should be left as is.
  110.  
  111.  - SearchPath() and OpenFile() don't work properly with OEM chars in the
  112.    filename.
  113.  
  114.  - GetSystemInfo() doesn't set correct ProcessorType for the Pentium.
  115.  
  116.  - FindResource() returns a non-NULL handle for a nonexistent resource.
  117.  
  118.  - VirtualProtect() with anything other than PAGE_NOACCESS, PAGE_READ, OR
  119.    PAGE_READWRITE yields unpredictable page protections.
  120.  
  121.  - COMPAREITEMSTRUCT, DELETEITEMSTRUCT, DRAWITEMSTRUCT, AND
  122.    MEASUREITEMSTRUCT incorrectly sign-extend fields.
  123.  
  124.  - GetWindowTextLength() & GetWindowText() incorrectly sign-extend the
  125.    return value.
  126.  
  127.  - MoveFile() fails on Windows for Workgroups when the source is remote and
  128.    the destination is local.
  129.  
  130.  - PrintDlg() fails if the PRINTDLG structure has an illegal size (size
  131.    other than 42).
  132.  
  133.  - Loading resources from a DLL may cause memory and selector leakage.
  134.  
  135.  - FP context is corrupted when an FP exception occurs while using the FP
  136.    emulator.
  137.  
  138.  - If a window class defined in one DLL uses a window function in another
  139.    DLL and this DLL is unloaded before the DLL that defines the window
  140.    class, a GP fault occurs in WIN32S16.DLL when you terminate the process
  141.    from a debugger.
  142.  
  143.  - GetBitmapBits() and SetBitmapBits() return the wrong value. The return
  144.    code is not converted from dx:ax to eax.
  145.  
  146.  - FindResource() does not set the last error code to a proper value.
  147.  
  148.  - NLS APIs fail when AnsiCP in the [NLS] section of WIN32S.INI is set to
  149.    the code page of the machine (473 on U.S. machines).
  150.  
  151.  - _tzset() in CRTDLL.DLL can cause a GP fault.
  152.  
  153.  - FP Emulator ftsp st(x) when st(x) is empty does not pop a NAN leaving
  154.    an extra value on the FP stack.
  155.  
  156. REFERENCES
  157. ==========
  158.  
  159. For the list of known bugs in Win32s version 1.2 that were fixed in
  160. Win32s version 1.25a, please see the following article in the Microsoft
  161. Knowledge Base.
  162.  
  163.    ARTICLE-ID: Q130139
  164.    TITLE     : Win32s 1.25a Fix List
  165.  
  166. Additional reference words: 1.30
  167. KBCategory: kbprg kbfixlist kbbuglist
  168. KBSubcategory: W32s
  169.  
  170. Win32s 1.3 Bug List
  171.  
  172. -----------------------------------------------------------------------
  173. The information in this article applies to:
  174.  
  175.  - Microsoft Win32s version 1.3
  176. -----------------------------------------------------------------------
  177.  
  178. The following is a list of the known bugs in Win32s version 1.3 at the
  179. time of its release.
  180.  
  181.  - Incorrect context at EXIT_PROCESS_DEBUG_EVENT.
  182.  
  183.  - Progman gets restored when debugger app exits.
  184.  
  185.  - Using StartDoc() does not produce document from printer.
  186.  
  187.  - EM_GETWORDBREAKPROC return code is incorrect.
  188.  
  189.  - Int 3 cannot be trapped via Structured Exception Handling (SEH) on
  190.    Win32s.
  191.  
  192.  - Win32s does not open all files in RAW mode, as Windows NT does.
  193.  
  194.  - Cannot do ReadProcessMemory (RPM) on memory that has a hardware
  195.    breakpoint set on it.
  196.  
  197.  - C run-time functions getdcwd()/getcwd() do not work.
  198.  
  199.  - GetFullPathName() returns the root directory for any drive that is not
  200.    the current drive.
  201.  
  202.  - PlayMetaFileRecord()/EnumMetaFile() contains incorrect lpHTable.
  203.  
  204.  - Size of memory mapped files is rounded to a whole number of pages,
  205.    meaning that the size is a multiple of 4096 bytes.
  206.  
  207.  - Functions chdrive() and SetCurrentDirectory() fail on PCNFS network
  208.    drives.
  209.  
  210.  - GetExitCodeProcess() does not return exit codes for 16-bit Windows-based
  211.    applications.
  212.  
  213.  - Memory passed to Netbios() must be allocated with GlobalAlloc().
  214.  
  215.  - biSizeImage field of BITMAPINFOHEADER is zero.
  216.  
  217.  - CreateFile() on certain invalid long filesnames closes Windows.
  218.  
  219.  - Only the first CBT hook gets messages.
  220.  
  221.  - Most registry functions return the Windows 3.1 return codes, not the
  222.    Windows NT return codes.
  223.  
  224.  - GlobalReAlloc(x,y,GMEM_MOVEABLE) returns wrong handle type.
  225.  
  226.  - GetVolumeInformation() fails for Universal Naming Convention (UNC)
  227.    root path.
  228.  
  229.  - ResumeThread while debugging writes to debuggee stack.
  230.  
  231.  - GetShortPathName() doesn't fail with a bad path, as it does on
  232.    Windows NT.
  233.  
  234.  - CreateDirectory()/RemoveDirectory() handle errors differently than on
  235.    Windows NT.
  236.  
  237.  - SetCurrentDirctory() returns different error codes than on Windows NT.
  238.  
  239.  - FindText() leaks memory.
  240.  
  241.  - Win32s doesn't support language files other than default (l_intl.nls).
  242.  
  243.  - spawnl does not pass parameters to an MS-DOS-based application.
  244.  
  245.  - Win32s does not support forwarded exports.
  246.  
  247.  - GetDlgItemInt() only translates numbers <= 32767 (a 16-bit integer).
  248.  
  249.  - Changing system locale in Win32s will not have an effect until Win32s
  250.    is loaded again, unlike on Windows NT.
  251.  
  252.  - Module Management APIs missing ANSI to OEM translation.
  253.  
  254.  - Stubbed API FindFirstFileW() does not return -1 to indicate failure.
  255.  
  256.  - FormatMessage() doesn't set last error.
  257.  
  258.  - FormatMessage() fails with LANG_NEUTRAL | SUBLANG_DEFAULT, but works
  259.    with LANG_ENGLISH | SUBLANG_ENGLISH_US.
  260.  
  261.  - After calling CreateFile() on a write-protected floppy GetLastError()
  262.    returns 2, instead of 19, as it should.
  263.  
  264.  - MEASUREITEMSTRUCT and DRAWITEMSTRUCT do not have itemID or itemData
  265.    fields initialized with owner draw menu items.
  266.  
  267.  - With winhlp32, deleting an annotation in a popup causes an unhandled
  268.    exception. This occurs on Windows NT 3.51 and Windows 95 as well.
  269.  
  270.  - SetEnvironmentVariables() does not handle an empty string, an equal
  271.    sign, "=", or foreign lowercase characters in the variable name,
  272.  
  273.  - With the help authoring switched on with winhlp32, if you use
  274.    PopupContext with an invalid context number, the error message displayed
  275.    is "Cannot find the windows.hlp file. Do you want to find it?"
  276.  
  277.  - With the help authoring switched on with winhlp32, if you use
  278.    PopupContext with a file with an .HLP extension that is not a help file,
  279.    the error message displayed is "Cannot find the windows.hlp file. Do you
  280.    want to find it?"
  281.  
  282.  - With the help authoring switched on with winhlp32, if you use
  283.    PopupContext with a context string that does not exist, no error message
  284.    is produced.
  285.  
  286.  - You can still write to a file that was opened with GENERIC_READ.
  287.  
  288.  - When a file is opened a second time, the attributes are not updated
  289.    even with CREATE_ALWAYS.
  290.  
  291.  - PrintDlg() with a NULL hPrintTemplate and PD_ENABLEPRINTTEMPLATE
  292.    returns 7 (ERROR_ARENA_TRASHED), not 6 (ERROR_INVALID_HANDLE).
  293.  
  294.  - PrintDlg() does not fail with a NULL hSetupTemplate and the flags
  295.    PD_ENABLESETUPTEMPLATE | PD_PRINTSETUP. The expected return code is 6
  296.    (ERROR_INVALID_HANDLE). Instead, the regular Print Dialog is displayed.
  297.  
  298.  - PrintDlg() succeeds with a NULL hInstance.
  299.  
  300.  - PrintDlg() succeeds with a From value that is bigger than the To value.
  301.  
  302.  - PrintDlg() succeeds with an emptry From value or an emptry To value.
  303.  
  304.  - The winhlp32 Find tab does not paint correctly.
  305.  
  306.  - Winhlp32 does not have context sensitive help for itself.
  307.  
  308.  - The return value of GetDlgCtrlID() is sign-extended. This causes a
  309.    problem for IDs > 0x7fff.
  310.  
  311.  - Winhlp32 cannot play .AVI files.
  312.  
  313.  - The winhlp32 Find highlight feature doesn't work on the first try.
  314.    After opening and closing the Find options, the problem goes away.
  315.  
  316.  - When a help file with a .CNT file is brought up from a write-protected
  317.    floppy, there is a system error the first time that the help file is
  318.    invoked. This does not happen if winhlp32 is invoked from the command
  319.    line (winhlp32 a:file.hlp) or if the .GID is already created.
  320.  
  321.  - When attempting to print a secondary window from Word 6.0, an
  322.    application error occurs.
  323.  
  324.  - When you open up a different help file, the window title changes to
  325.    the title of the new help file. When you go back to the original help
  326.    file, the window title does not change back to the original title.
  327.  
  328.  - When bringing up a help file in File Manager with a .CNT file but no
  329.    keywords, the Find tab is brought up.
  330.  
  331.  - Tab keys and hot keys do not work properly in property sheet controls
  332.    unless the message loop calls PropSheet_IsDialogMessage().
  333.  
  334. Additional reference words: 1.30
  335. KBCategory: kbprg kbbuglist
  336. KBSubcategory: W32s
  337.