Microsoft KB Archive/911021

From BetaArchive Wiki

Article ID: 911021

Article Last Modified on 10/11/2007



APPLIES TO

  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Professional x64 Edition




SYMPTOMS

Consider the following scenario. You have a computer that is running a 64-bit version of Microsoft Windows Server 2003 or a computer that is running Microsoft Windows XP Professional x64 Edition. You run a 32-bit program that has the /LARGEADDRESSAWARE switch enabled. You run this program in a Windows on Windows 64 (WOW64) environment. When this scenario occurs, you may experience one or more of the following symptoms.

Symptom 1

An access violation may occur when you run the program.

Symptom 2

An access violation may occur when the program calls a CreateWindow API that has string-window class name specified.

Symptom 3

A hooked function may not be called correctly. This may cause various graphical user interface (GUI) operations not to work. Additionally, an access violation may occur.

Symptom 4

The MessageBox API may not work correctly. This may cause GUI items that use the MessageBox API not to work correctly.

CAUSE

The symptom that is described in the "Symptom 1" section may occur if the Wow64win.dll file incorrectly evaluates a WinProc function that has an address that is larger than 0xC0000000. The UserCallWinProcCheckWow routine evaluates the highest two bits of the WinProc function as flags that have a special meaning. Then, this routine runs the wrong code path.

The symptom that is described in the "Symptom 2" section may occur if the operating system inappropriately converts a 32-bit pointer to a 64-bit pointer.

The symptom that is described in the "Symptom 3" section may occur if an incorrect thunk operation occurs in the Wow64win.dll file. This operation may occur when the following conditions are true:

  • The Wow64win.dll file tries to convert a 32-bit pointer to a 64-bit pointer.
  • The 32-bit pointer has an address that is located between 0x80000000 and 0xFFFFFFF.

When this incorrect thunk operation occurs, the 32-bit pointer is converted to a 64-bit pointer that is sign extended.

The symptom that is described in the "Symptom 4" section may occur if there is an inappropriate conversion from a 32-bit address pointer to a 64-bit address pointer.

RESOLUTION

Update information

The following files are available for download from the Microsoft Download Center:

Windows Server 2003, 64-bit x64-based versions

[GRAPHIC: Download]Download the WindowsServer2003.WindowsXP-KB911021-x64-ENU.exe package now.

Windows Server 2003, 64-bit Itanium-based versions with Service Pack 1

[GRAPHIC: Download]Download the WindowsServer2003-KB911021-ia64-ENU.exe package now.

Windows XP Professional x64 Edition

[GRAPHIC: Download]Download the WindowsServer2003.WindowsXP-KB911021-x64-ENU.exe package now.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services


Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Prerequisites

To apply this update on a Windows Server 2003-based computer, you must have Windows Server 2003 Service Pack 1 (SP1) installed on the computer.

Restart requirement

You must restart the computer after you apply this update.

Update replacement information

This update does not replace any other updates or hotfixes.

File information

The English version of this update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

Windows Server 2003, 64-bit x64-based versions and Windows XP Professional x64 Edition
File name File version File size Date Time Platform SP requirement Service branch
Fxsapi.dll 5.2.3790.2615 528,384 12-Jan-2006 01:50 x64 SP1 SP1QFE
Gdi32.dll 5.2.3790.2615 609,792 12-Jan-2006 01:50 x64 SP1 SP1QFE
User32.dll 5.2.3790.2615 1,085,952 12-Jan-2006 01:50 x64 SP1 SP1QFE
Uxtheme.dll 6.0.3790.2615 505,856 12-Jan-2006 01:50 x64 SP1 SP1QFE
Wow64win.dll 5.2.3790.2615 286,720 12-Jan-2006 01:50 x64 SP1 SP1QFE
Wfxsapi.dll 5.2.3790.2615 467,456 12-Jan-2006 01:50 x86 SP1 WOW
Wgdi32.dll 5.2.3790.2615 285,184 12-Jan-2006 01:50 x86 SP1 WOW
Wuser32.dll 5.2.3790.2615 602,112 12-Jan-2006 01:50 x86 SP1 WOW
Wuxtheme.dll 6.0.3790.2615 215,040 12-Jan-2006 01:50 x86 SP1 WOW


Windows Server 2003, 64-bit Itanium-based versions with Service Pack 1
File name File version File size Date Time Platform SP requirement Service branch
Fxsapi.dll 5.2.3790.2615 727,552 12-Jan-2006 01:50 IA-64 SP1 SP1QFE
Gdi32.dll 5.2.3790.2615 907,264 12-Jan-2006 01:50 IA-64 SP1 SP1QFE
User32.dll 5.2.3790.2615 1,476,096 12-Jan-2006 01:50 IA-64 SP1 SP1QFE
Uxtheme.dll 6.0.3790.2615 556,032 12-Jan-2006 01:50 IA-64 SP1 SP1QFE
Wow64win.dll 5.2.3790.2615 581,120 12-Jan-2006 01:50 IA-64 SP1 SP1QFE
Wfxsapi.dll 5.2.3790.2615 467,456 12-Jan-2006 01:50 x86 SP1 WOW
Wgdi32.dll 5.2.3790.2615 285,184 12-Jan-2006 01:50 x86 SP1 WOW
Wuser32.dll 5.2.3790.2615 602,112 12-Jan-2006 01:50 x86 SP1 WOW
Wuxtheme.dll 6.0.3790.2615 215,040 12-Jan-2006 01:50 x86 SP1 WOW


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

For more information about how to obtain Windows Server 2003 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003


For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates


Technical support for x64-based versions of Microsoft Windows

Your hardware manufacturer provides technical support and assistance for x64-based versions of Windows. Your hardware manufacturer provides support because an x64-based version of Windows was included with your hardware. Your hardware manufacturer might have customized the installation of Windows with unique components. Unique components might include specific device drivers or might include optional settings to maximize the performance of the hardware. Microsoft will provide reasonable-effort assistance if you need technical help with your x64-based version of Windows. However, you might have to contact your manufacturer directly. Your manufacturer is best qualified to support the software that your manufacturer installed on the hardware.

For product information about Microsoft Windows XP Professional x64 Edition, visit the following Microsoft Web site:

For product information about x64-based versions of Microsoft Windows Server 2003, visit the following Microsoft Web site:


Additional query words: CM 48615 AV GUI API LARGEADDRESSAWARE user32!UserCallWinProcCheckWow Winx64 Windowsx64 64bit 64-bit

Keywords: kbbug kbfix kbqfe kbpubtypekc kbhotfixserver kbwinserv2003sp2fix KB911021