BUG: Win32 SDK Version 3.51 Bug List - GDI (136438)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Workstation 3.51

This article was previously published under Q136438

SYMPTOMS

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.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

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.

Modification Type:MinorLast Reviewed:3/21/2005
Keywords:kbbug kbgraphic kbpending KB136438