BUG: Win32 SDK Version 3.51 Bug List - GDI

Last reviewed: June 23, 1997
Article ID: Q136438
The information in this article applies to:
  • Microsoft Win32 Application Programming Interface (API) included with:

        - Microsoft Windows NT version 3.51
    

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.


Keywords : GdiMisc kbgraphic kbbuglist
Version : 3.51
Platform : NT WINDOWS
Issue type : kbbug


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 23, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.