This article was previously published under Q265253
This article has been archived. It is offered "as is" and will no longer be updated.
Under the following conditions, your pointer may not be visible:
Your driver receives a pointer shape that your hardware cannot support, for example, one that is too large, has too many colors, and so on.
A program is running with some data that is written in the overlay planes by using OpenGL.
When a driver declines a pointer because the hardware cannot support it, GDI draws the pointer by using DrvCopyBits() to the main planes and the overlay planes are unchanged. Because of this, if a program has data in the overlay planes, the cursor may not be visible.
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
The English version of this fix should have the following file attributes or later:
Date Time Version Size File name --------------------------------------------------------- 03/22/2000 10:26 PM 5.0.2195.1333 221,968 Gdi32.dll 05/31/2000 04:45 PM 5.0.2195.2096 379,152 User32.dll 06/21/2000 07:54 PM 5.0.2195.2096 1,639,568 Win32k.sys 03/22/2000 10:27 PM 5.0.2195.1333 242,960 Winsrv.dll
Microsoft has confirmed that this is a problem in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 2.
For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes
NOTE: This hotfix adds an ability to the driver so that the driver can move the pointer in hardware while other drawing is occurring on the device. If you want to be able to report GCAPS_ASYNCMOVE from your driver and for the other pointers, you cannot support this asynchronously. If you want to override this asynchronous behavior with the GCAPS_ASYNCMOVE flag, your driver must return (SPS_ACCEPT_NOECLUDE | SPS_ACCEPT_SYNCHRONOUS) when it accepts the pointer.
GCAPS_ASYNCMOVE: The driver can move the pointer in hardware while other drawing is occurring on the device.