DOC: Errors in Win32s Compatibility

ID: Q155861


The information in this article applies to:
  • Microsoft Win32s version 1.30c


SUMMARY

The following Win32 APIs are listed in the Win32 Programmer's Reference as being supported under Win32s. This is incorrect. These Win32 APIs are not supported under Win32s:

  • mouse_event


  • CreateDIBPatternBrushPt()


  • GetBinaryType()


The following Win32 APIs are not listed in the Win32 Programmer's Reference as being supported under Win32s. This is incorrect. These Win32 APIs are supported under Win32s:
  • There are none identified yet for 1.30c.


In addition, all of the BS_ button styles are marked as not supported under Win32s. However, Win32s supports all of the button styles that Windows 3.1 supports.


MORE INFORMATION

The following Win32 APIs and CRT (C Run-time) routines are supported under Win32s, with the restrictions noted.


Function                        Associated Restriction
===========================================================================
CreateFile                      FILE_FLAG_NO_BUFFERING,
                                FILE_FLAG_WRITE_THROUGH,
                                FILE_FLAG_OVERLAPPED,
                                FILE_DELETE_ON_CLOSE,
                                FILE_ATTRIBUTE_COMPRESSED,
                                FILE_FLAG_RANDOM_ACCESS,
                                FILE_FLAG_SEQUENTIAL_SCAN,
                                FILE_FLAG_BACKUP_SEMANTICS,
                                FILE_FLAG_POSIX_SEMANTICS
                                and all SECURITY_* flags are not supported.

                                FILE_FLAG_SEQUENTIAL_SCAN and
                                FILE_FLAG_RANDOM_ACCESS are only for
                                optimization purposes, so no functionality
                                limitation is related with these flags.

                                lpSecurityAttributes and hTemplateFile
                                parameters are ignored.

                                Passing dwShareMode=0 opens the file in
                                compatibility mode, not in exclusive mode.
---------------------------------------------------------------------------
CreateFileMapping               SEC_COMMIT is supported, but not
                                SEC_IMAGE, SEC_NOCACHE or SEC_RESERVE.

                                PAGE_WRITECOPY is not supported.

                                lpFileMappingAttributes parameter is
                                ignored.
                                The size of named shared memory is limited
                                by Windows memory.
---------------------------------------------------------------------------
CreateDIBitmap                  DIB_PAL_INDICES
CreateDIBPatternBrush           DIB_PAL_PHYSINDICES
GetDIBits                       DIB_PAL_LOGINDICES   are not supported.
SetDIBits
SetDIBitsToDevice
StretchDIBits
---------------------------------------------------------------------------
CreateHalftonePallette()        Is supported only in 1.30 and later.
---------------------------------------------------------------------------
CreatePolyPolygonRgn            The polygon must be closed.
---------------------------------------------------------------------------
ExtEscape()                     Ignores the cbOutput parameter.
---------------------------------------------------------------------------
GetDCOrgEx()                    Thunked to GetDCOrg().
                                Does not return any error codes
---------------------------------------------------------------------------
GetDCOrg() - A Win16 API that is not supported by Win32s. This is because
of compatibility reasons.
---------------------------------------------------------------------------
GdiFlush()                      Does nothing.
---------------------------------------------------------------------------
SetGraphicsMode()               Does nothing and fails unless GM_COMPATIBLE
                                is specified
---------------------------------------------------------------------------
SetGraphicsMode()               Always returns GM_COMPATIBLE.
---------------------------------------------------------------------------
CreateProcess                   Handle inheritance is not supported.
                                Only creation flags supported are
                                DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS.
                                The only priority supported is
                                NORMAL_PRIORITY_CLASS. The security
                                attributes are ignored.
---------------------------------------------------------------------------
GetFileInformationByHandle      ftCreationTime, ftLastAccessTime,
                                dwVolumeSerialNumber, nFileIndexHigh, and
                                nFileIndexLow are all 0.
---------------------------------------------------------------------------
GetFileTime                     Only lpLastWriteTime is supported.
SetFileTime
---------------------------------------------------------------------------
GetPrivateProfileString         lpszSection parameter cannot be NULL.
GetProfileString
---------------------------------------------------------------------------
GetSystemMetrics                SM_CMOUSEBUTTONS is not supported.
---------------------------------------------------------------------------
GetSystemPaletteEntries         The fourth parameter cannot be NULL.
---------------------------------------------------------------------------
GetVolumeInformation            Volume ID is not supported.
---------------------------------------------------------------------------
OpenProcess                     Settings for fdwAccess and fInherit are
                                ignored. In the implementation,
                                fdwAccess=PROCESS_ALL_ACCESS and
                                fInherit=TRUE.
---------------------------------------------------------------------------
PeekMessage                     hWnd cannot be -1.
---------------------------------------------------------------------------
PlaySound                       SND_ALIAS, SND_FILENAME, and
                                SND_NOWAIT are not supported.
---------------------------------------------------------------------------
RegisterClassEx                 Only partially implemented, similar to NT.
GetClassInfoEx                  Both APIs ignores the small icon that is
                                associated with the window class. Hence,
                                the hIconSm member of the WNDCLASSEX
                                structure is always set to NULL.
---------------------------------------------------------------------------
RegSetValueEx                   Only supports the REG_SZ entries.
---------------------------------------------------------------------------
SetClipboardData                Use only a global handle.
---------------------------------------------------------------------------
SetWindowsHookEx                dwThreadId parameter is ignored.
---------------------------------------------------------------------------
signal                          SIGBREAK is not supported.
---------------------------------------------------------------------------
spawn                           P_WAIT is not supported.
---------------------------------------------------------------------------
WaitForDebugEvent               Any dwTimeOut other than 0 is treated as
                                INFINITE.
---------------------------------------------------------------------------
WNetAddConnection               Password cannot be NULL, but can be "". 

Additional query words: kbdss docbug

Keywords : kbdocerr kbref kbWin32s
Version : WINDOWS:1.30c
Platform : WINDOWS
Issue type :


Last Reviewed: January 6, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.