Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Errors may occur when you run a 32-bit program on a computer that is running a 64-bit version of Windows Server 2003 or on a computer that is running Windows XP Professional x64 Edition


View products that this article applies to.

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.

↑ Back to the top


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.

↑ Back to the top


Resolution

Update information

The following files are available for download from the Microsoft Download Center:
Windows Server 2003, 64-bit x64-based versions
Download the WindowsServer2003.WindowsXP-KB911021-x64-ENU.exe package now.
Windows Server 2003, 64-bit Itanium-based versions with Service Pack 1
Download the WindowsServer2003-KB911021-ia64-ENU.exe package now.
Windows XP Professional x64 Edition
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 nameFile versionFile sizeDateTimePlatformSP requirementService branch
Fxsapi.dll5.2.3790.2615528,38412-Jan-200601:50x64SP1SP1QFE
Gdi32.dll5.2.3790.2615609,79212-Jan-200601:50x64SP1SP1QFE
User32.dll5.2.3790.26151,085,95212-Jan-200601:50x64SP1SP1QFE
Uxtheme.dll6.0.3790.2615505,85612-Jan-200601:50x64SP1SP1QFE
Wow64win.dll5.2.3790.2615286,72012-Jan-200601:50x64SP1SP1QFE
Wfxsapi.dll5.2.3790.2615467,45612-Jan-200601:50x86SP1WOW
Wgdi32.dll5.2.3790.2615285,18412-Jan-200601:50x86SP1WOW
Wuser32.dll5.2.3790.2615602,11212-Jan-200601:50x86SP1WOW
Wuxtheme.dll6.0.3790.2615215,04012-Jan-200601:50x86SP1WOW

Windows Server 2003, 64-bit Itanium-based versions with Service Pack 1
File nameFile versionFile sizeDateTimePlatformSP requirementService branch
Fxsapi.dll5.2.3790.2615727,55212-Jan-200601:50IA-64SP1SP1QFE
Gdi32.dll5.2.3790.2615907,26412-Jan-200601:50IA-64SP1SP1QFE
User32.dll5.2.3790.26151,476,09612-Jan-200601:50IA-64SP1SP1QFE
Uxtheme.dll6.0.3790.2615556,03212-Jan-200601:50IA-64SP1SP1QFE
Wow64win.dll5.2.3790.2615581,12012-Jan-200601:50IA-64SP1SP1QFE
Wfxsapi.dll5.2.3790.2615467,45612-Jan-200601:50x86SP1WOW
Wgdi32.dll5.2.3790.2615285,18412-Jan-200601:50x86SP1WOW
Wuser32.dll5.2.3790.2615602,11212-Jan-200601:50x86SP1WOW
Wuxtheme.dll6.0.3790.2615215,04012-Jan-200601:50x86SP1WOW

↑ Back to the top


Status

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

↑ Back to the top


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:

↑ Back to the top


Keywords: KB911021, kbqfe, kbfix, kbbug, kbwinserv2003sp2fix, atdownload

↑ Back to the top

Article Info
Article ID : 911021
Revision : 4
Created on : 10/9/2011
Published on : 10/9/2011
Exists online : False
Views : 305