DOC: Errors in Win32s Compatibility

ID: Q155861

1.30c   | 1.30c
WINDOWS | WINDOWS NT kbref kbdocerr

The information in this article applies to:

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:

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: 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 "".

KBCategory: kbref kbdocerr KBSubcategory: W32s Additional reference words: 1.30c kbdss docbug
Keywords          : kbWin32s 
Version           : 1.30c   | 1.30c
Platform          : NT WINDOWS

Last Reviewed: January 13, 1997