Microsoft KB Archive/911021

= 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 =

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 &quot;Symptom 1&quot; 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 &quot;Symptom 2&quot; 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 &quot;Symptom 3&quot; 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 &quot;Symptom 4&quot; section may occur if there is an inappropriate conversion from a 32-bit address pointer to a 64-bit address pointer.



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 Itanium-based versions with Service Pack 1


STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; 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:

http://www.microsoft.com/windowsxp/64bit/default.mspx

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

http://www.microsoft.com/windowsserver2003/64bit/x64/default.mspx

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

Keywords: kbbug kbfix kbqfe kbpubtypekc kbhotfixserver kbwinserv2003sp2fix KB911021

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.