The information in this article applies to:
- Microsoft Win32s, version 1.25a
The following is a list of the known bugs in Win32s version 1.25 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.
- When WS_TABSTOP is passed to CreateWindow(), this forces a
WS_MAXIMIZEBOX.
- Stubbed API FindFirstFileW() does not return -1 to indicate failure.
- SearchPath() and OpenFile() don't work properly with OEM chars in the
filename.
- GetSystemInfo() doesn't set correct ProcessorType for the Pentium.
- 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.
- 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.
|