Microsoft KB Archive/121907

BUG: Win32 SDK Version 3.5 Bug List - Win32 API

PSS ID Number: Q121907 Article last modified on 08-30-1995

3.50

WINDOWS NT

= SUMMARY =

The following is a list of bugs in the Win32 SDK and Win32 API (version 3.5) that were known at the time of its release. The list is divided into four sections: Base, GDI, Networking, and User.

= MORE INFORMATION =

Base

 * SetLastErrorEx does not raise a RIP_INFO debug event.
 * Overlapped I/O does not work on CD-ROM drives.
 * CDECL should be defined to __cdecl in WINDEF.H.
 * EVENTLOGRECORD strings are incorrectly given as type WCHAR in winnt.h. The online help correctly gives the strings as type TCHAR.
 * SetComputerName(&quot;&quot;); sets computer name to an empty string at reboot, which the logon service cannot handle. The Network applet does not allow this computer name. Your code should check for this case as well.
 * Registry allows remote access to certain performance data, but not local access.
 * RegCreateKeyEx puts the class string in all created subkeys.
 * Call FileTimeToLocalFileTime with a structure containing 0, then pass the result to FileTimeToSystemTime. FileTimeToSystemTime returns a bad value in SystemTime.wHour.
 * DLL does not receive DLL_PROCESS_DETACH if last thread in process calls ExitThread.

GDI

 * Return values for certain GetBitmapBits calls are not the same on Windows and Windows NT.
 * Return values for certain StretchBlt calls are not the same on Windows and Windows NT.
 * When a transparent window is present and full drag is enabled, the display is not refreshed correctly when a window is dragged.
 * GetCharABCWidths returns twice the width for character 0x92 that GetTextExtentPoint returns using Arial font.
 * Use a True Type font off the network, produce a few glyphs, and kill the network connection. You get an in page memory exception if you try to use the font with different (not cached) glyphs. Restore the network connection and try to use the font. The font was tagged as invalid, so all subsequent TextOut calls fail.
 * CreateDC returns ERROR_MOD_NOT_FOUND instead of ERROR_ACCESS_DENIED for a printer with no access rights. The problem is that GDI does not check for ERROR_ACCESS_DENIED when the open printer fails; GDI directly tries to do a LoadLibrary on the pszDevice.
 * EndDoc reports success when given an information context (IC).
 * AbortDoc reports success when given an information context (IC).
 * glGet doesn’t generate GL_INVALID_OPERATION error code when it is called within glBegin/glEnd.

Networking

 * For MS-DOS clients, NetAccessGetInfo returns code 53. (ERROR_BAD_NETPATH) for the local server.
 * For MS-DOS clients, NetServerEnum2 with a bad domain should return error 2320, but it returns Windows NT error code 6118.
 * For MS-DOS clients, NetShareGetInfo level 2 fails with error 87.
 * For MS-DOS clients, NetShareGetInfo level 3 returns NERR_Success, but level 3 is not a valid level.
 * NetWkstaGetInfo returns a platform id of PLATFORM_ID_OS2 for a downlevel Windows for Workgroups machine.
 * NetUserAdd remoted from a 16-bit application to a server with a long name fails with error 59 (unexpected network error).
 * NetServiceEnum resumehandle and prefMaxLen fields are ignored.
 * NetGetDCName with domain name of “.” or “?” returns error 2102 (NERR_NetNotStarted), not 2453 (NERR_DCNotFound).
 * NetUseEnum with a preferred buffer size less than 40 bytes returns ERROR_MORE_DATA, rather than NERR_BufTooSmall.
 * NetServerEnum with a zero length buffer returns ERROR_MORE_DATA, rather than NERR_BufTooSmall.
 * NetScheduleJobEnum with a small preferred buffer size returns ERROR_MORE_DATA, rather than NERR_BufTooSmall.
 * NetStatisticsGet remoted to a downlevel OS/2 server does not work for the service “LanmanWorkstation”.
 * NetAccessEnum with NULL base path causes an access violation.
 * NetUserModalsGet level 2 returns error 87 (ERROR_INVALID_PARAMETER).
 * Network API doc errors: NetUserModals supports a level 3 structure in Windows NT 3.5, NetGroupSetUsers also supports level 1, NetAccessCheck is in docs but not the header files, and the NetAuditClear/NetAuditRead service parameter should be marked as a reserved field that must be NULL.
 * NetConfigGet and NetConfigGetAll return error 2146 when remoted to Windows NT. This API should only work from Windows NT to a downlevel machine. It should return ERROR_NOT_SUPPORTED or NERR_InvalidApi is remoted to Windows NT.
 * NetWkstaUserSetInfo level 0 returns error 124 (invalid level).
 * NetReplImportDirUnlock returns error 87 (NERR_Invalid_Parameter) if the directory is not locked.
 * NetReplExportDirEnum ignores suggested buffer size.
 * NetUseEnum level 2 remoted to an OS/2 machine returns error 50 (ERROR_NOT_SUPPORTED), not error 124 (ERROR_INVALID_LEVEL).
 * NetConfigSet returns success when remoted to Windows NT.
 * NetWkstaUserSetInfo called with an incorrect level returns error 87 (INVALID_PARAMETER), rather than error 124 (ERROR_INVALID_LEVEL).
 * NetMessageNameEnum with a zero length buffer returns NERR_Success, rather than NERR_BufTooSmall.

User

 * DDESPY frees locked global objects when filtering out WM_DDE_INITIATE messages.
 * GetTabbedTextExtent, TabbedTextOut, TextOut, and DrawText GP fault with bad string length values.
 * Journal Recording causes improper icon title painting.
 * With a WH_MSGFILTER installed, MSGF_NEXTWINDOW is not sent when the user Alt-Tabs to the next window.
 * Active Screen Saver doesn’t allow WH_JOURNALPLAYBACK hook.
 * 122-key kbd: WSCtrl, Jump, Finish keys are VK_NONAME.
 * Using of NumLock key for PF1 in terminal emulation programs does not work.
 * Calling GetKeyState/GetKeyboardState from a thread that is not reading from an input queue causes a QEVENT_UPDATEKEYSTATE to be posted to the queue, but it is never removed. If the input queue is being read, the key state is one update event out of date.
 * System hang during journalling if a hung application exists and many system events are posted to the hung application.
 * Windows NT does not wait for all applications to return their response from WM_QUERYENDSESSION before starting to destroy an application. This can cause data loss in OLE.
 * WM_GETMINMAXINFO not used when window has WS_CAPTION and WS_THICKFRAME.
 * Edit control clips italic text.
 * Hotkeys are not checked during journal playback.
 * OLE 2.01 server creates a window and uses SetParent on the window of the container. When the container is resized to a smaller window than the server, the container can no longer be resized with the mouse over the server window. This is a side effect of calling SetParent on a window that does not have style WS_CHILD.
 * GetSystemMetrics does not check parameter to see if it is within range and returns garbage for out of range values.
 * Windows applications with focus can be overlapped.
 * In large font video mode, AdjustWindowRect returns bad width if the window does not have a menu and a bad height if the window has a menu.
 * Prototypes for SetSystemCursor and LoadCursorFromFile are missing from WINUSER.H.

Additional reference words: 3.50 buglist3.50 KBCategory: kbprg kbnetwork kbbuglist KBSubcategory: BseMisc GdiMisc NtwkMisc UsrMisc

=
================================================================

Copyright Microsoft Corporation 1995.