The GetAncestor() Function Can Cause "Stop 0x1e" in Win32k.sys (280582)
The information in this article applies to:
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional
This article was previously published under Q280582 SYMPTOMS
If you pass the handle of a top-level non-desktop window and a GA_ROOT flag to the GetAncestor function, it automatically assumes that the window is a child of the desktop and dereferences the NULL spwndParent field. The resulting stop code in Service Pack 1 (SP1) is:
Stop 0x0000001e (0xc0000005, 0xa00f8d53, 0x00000000, 0x0000000c)
CAUSE
This problem is caused by a file handle of a window of the type that is described above when you call GetAncestor(hWnd,GA_ROOT). The problem occurs every time you do this. A crash dump in Win32k.sys shows that the crash always occurs in the context of Wfshell.exe. User-mode program components contributed to the crash. A program is passing the handle of the "root" window to GetAncestor. GetAncestor is not capable of handling this case with a GA_ROOT flag set and ends up dereferencing the parent pointer of the "root" window.
The "root" window is hidden from access by User-mode programs, but if a program can obtain the handle somehow and then call GetAncestor on the handle, the problem occurs
RESOLUTIONTo resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the
Microsoft 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
---------------------------------------------------
5/31/2001 03:30p 5.0.2195.3649 222,480 Gdi32.dll
5/31/2001 03:44p 5.0.2195.3660 1,641,360 Win32k.sys(uniprocessor)
5/31/2001 03:32p 5.0.2195.3649 243,472 Winsrv.dll(uniprocessor)
5/31/2001 03:30p 5.0.2195.3649 379,664 User32.dll
5/31/2001 03:06p 5.0.2195.3660 1,641,360 Win32k.sys
5/31/2001 03:32p 5.0.2195.3649 243,472 Winsrv.dll
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.
Modification Type: | Minor | Last Reviewed: | 9/26/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbbug kbfix kbshell kbWin2000PreSP3Fix kbWin2000sp3fix KB280582 |
---|
|