The information in this article applies to:
SUMMARY
This article lists the bugs in the Win32 API implemented in Windows NT
version 3.51 that were known at the time the product was released.
MORE INFORMATION
- GetBitmapBits( ) returns different values from Windows 3.1.
- PolyBezier() call with certain coordinates hangs the GDI.
- MoveToEx() and LineTo() do not give an error when the delta is
greater than 2^27.
- DrawText() ignores a single space if it is followed by "\r\n".
- The insertion pointer is set to a wrong place if Alt+0146 is entered
twice in a multiple-line edit box with Arial font.
- Use of Far East fonts causes csrss to grow very large.
- ScaleWindowExtEx() and ScaleViewportExt() do not fail when the
denominator parameter is zero.
- CreateDC() returns error code 126 (ERROR_MOD_NOT_FOUND) on a printer
with no access right. The call should return error code 5
(ERROR_ACCESS_DENIED).
- SetDIBits() succeeds when HBITMAP parameter is a handle to region, pen,
or font.
- GetObject() does not check the cbBuffer parameter for negative values.
- UnrealizeObject() returns TRUE when passed an invalid handle.
- EndDoc() reports success when given an information context (IC).
- glGet() does not return an error when called between glBegin and glEnd.
- EnumPrintProcessors() fails for a remote server.
- GetPrintProcessorDirectory() does not return the UNC path.
- EnumMonitors() fails on a remote server.
- Job Priority can be set without Manage Documents permission.
- StartDocPrinter() sets the wrong error code on failure.
- StartDocPrinter() after StartDocPrinter(), with no EndDocPrinter()
in between, does not fail. This is because no state checking is
performed.
- WritePrinter() should fail after EndDocPrinter().
- WritePrinter() should fail after AbortPrinter().
- WritePrinter() returns the wrong error code after AddJob().
- SetPrinter does not fail with an invalid level of 1.
- EnumPrinters() returns remote printers when only local printers are
requested.
- AddPrintProcessor() fails with pPath set to a path.
- WritePrinter() does not dispatch the last cleanup bytes to printer.
- AddPrinter() does not set an error code if pPrinter is NULL.
- ScheduleJob() does not fail if there is no spool file.
- If you send WritePrinter() a server handle, the wrong error code is
returned.
- The wrong error code is returned when AddMonitor() is called with the
path to an invalid monitor.
- AddPrinter() succeeds with an unknown data type.
- If you send ScheduleJob() an invalid job ID, the wrong error code is
returned.
- JOB_INFO_2 time is never set.
- ScheduleJob() fails on a deleted job with no spool file.
- RemoteOpenPrinter() sometimes does not open printers.
- OpenPrintProcessor() failure results in an application hang.
- Cannot set or get the security descriptor for a pIniJob.
- ClosePrinter() cleanup code doesn't keep states correctly.
- AddPrinter with port == NUL returns ERROR_UNKNOWN_PRINTER.
- EnumPrinters(NULL, PRINTER_ENUM_REMOTE) does not work.
- There is no default printer if AddPrinterConnection() is called.
- Rundown does not clean up StartDocPrinter() print jobs.
- DeletePrinter() returns wrong type.
- JOB_INFO_2 PagesPrinted should match Windows 95 when pages is zero.
- There is no security check against the job during OpenPrinter().
- There is ambiguity during OpenPrinter() for printers with same name.
- Character '4' may be printed at upper-left of PCL seperator page.
- SetJob(), GetJob(), and EnumJobs() do not set or return a security
descriptor.
- DeletePrinterConnection() on a share name returns TRUE but does not
delete the connection.
- Creating large Perpetua fonts (lfHeight > 1500) can cause the system to
fail.
- DCIOpenProvider() fails on some video cards. Not all cards support DCI.
- WinWatchDidStatusChange() and WinWatchGetClipList() can be called only
from within the DCIBeginAccess() / DCIEndAccess() pair.
|