Article ID: 946924 - Last Review: February 29, 2008 - Revision: 1.1

When a 32-bit process calls the GetRawInputDeviceList function on a computer that is running a 64-bit version of Windows Vista or a 64-bit version of Windows Server 2003, memory corruption occurs

Hotfix download is availableHotfix Download Available
View and request hotfix downloads

On This Page

Expand all | Collapse all

SYMPTOMS

Consider the following scenario:
  • You have a computer that is running a 64-bit version of Windows Vista or a 64-bit version of Windows Server 2003.
  • A 32-bit process calls the GetRawInputDeviceList function.
In this scenario, memory corruption occurs.

CAUSE

This problem occurs because the WOW64 layer incorrectly marshals the pointer that points to the RAWINPUTDEVICELIST array when the process calls the 64-bit GetRawInputDeviceList function.

RESOLUTION

A hotfix is available to resolve this problem. However, this hotfix is limited to existing applications that call the GetRawInputDevice function from a 32-bit process that is running on a 64-bit version of Windows. New applications should call the GetRawInputDeviceList function according to the new Windows SDK documentation.

Hotfix information for Windows Vista

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

No prerequisites are required.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other previously released hotfixes.

Registry information

To use this hotfix, you do not have to make any changes to the registry.

File information

The English version of this hotfix 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 item in Control Panel.
Windows Vista, IA-64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ia64_ab9341a9171dbf852607b79caa4ce588_31bf3856ad364e35_6.0.6001.22113_none_5647bfff4cdf66de.manifestNot Applicable1,03414-Feb-200822:58Not Applicable
Ia64_microsoft-windows-wow64_31bf3856ad364e35_6.0.6001.22113_none_68a939bcf0704285.manifestNot Applicable17,48913-Feb-200804:59Not Applicable
Package_1_for_kb946924~31bf3856ad364e35~ia64~~6.0.1.0.mumNot Applicable1,99614-Feb-200822:58Not Applicable
Package_2_for_kb946924~31bf3856ad364e35~ia64~~6.0.1.0.mumNot Applicable1,99614-Feb-200822:58Not Applicable
Package_for_kb946924_sc_0~31bf3856ad364e35~ia64~~6.0.1.0.mumNot Applicable1,42514-Feb-200822:58Not Applicable
Package_for_kb946924_sc~31bf3856ad364e35~ia64~~6.0.1.0.mumNot Applicable1,42614-Feb-200822:58Not Applicable
Package_for_kb946924_server_0~31bf3856ad364e35~ia64~~6.0.1.0.mumNot Applicable1,42914-Feb-200822:58Not Applicable
Package_for_kb946924_server~31bf3856ad364e35~ia64~~6.0.1.0.mumNot Applicable1,43414-Feb-200822:58Not Applicable
Wow64_microsoft-windows-wow64_31bf3856ad364e35_6.0.6001.22113_none_cf1adb9cdd306cba.manifestNot Applicable14,04013-Feb-200804:30Not Applicable
Ia32exec.bin6.5.6523.08,257,53605-Feb-200823:12Not Applicable
Ntvdm64.dll6.0.6001.2211327,64813-Feb-200804:33IA-64
Wow64.dll6.0.6001.22113523,26413-Feb-200804:35IA-64
Wow64cpu.dll6.0.6001.2211343,00813-Feb-200804:35IA-64
Wow64win.dll6.0.6001.22113617,47213-Feb-200804:35IA-64
Wowia32x.dll6.5.6563.088,57613-Feb-200804:35IA-64
Acwow64.dll6.0.6001.2211343,00813-Feb-200804:08x86
Instnm.exe6.0.6001.221137,68013-Feb-200801:47x86
Ntvdm64.dll6.0.6001.2211314,33613-Feb-200804:12x86
Setup16.exe3.1.0.191826,11213-Feb-200801:47x86
User.exe6.0.6001.221132,56013-Feb-200801:47x86
Wow32.dll6.0.6001.221135,12013-Feb-200804:14x86
Windows Vista, x64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Amd64_25a1fa9b0ff36a3ddb66a2fef4bffa5c_31bf3856ad364e35_6.0.6000.20771_none_87d5b1cf38e59f83.manifestNot Applicable1,03614-Feb-200822:58Not Applicable
Amd64_873718ad6cf217bd6b7ad480a1094263_31bf3856ad364e35_6.0.6001.22113_none_ba1c3b71f4121f9b.manifestNot Applicable1,03614-Feb-200822:58Not Applicable
Amd64_microsoft-windows-wow64_31bf3856ad364e35_6.0.6000.20771_none_c29d1288abdb8ec6.manifestNot Applicable14,47813-Feb-200804:42Not Applicable
Amd64_microsoft-windows-wow64_31bf3856ad364e35_6.0.6001.22113_none_c4c6314aa8cfaabf.manifestNot Applicable14,80313-Feb-200805:35Not Applicable
Package_1_for_kb946924~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable2,16514-Feb-200822:58Not Applicable
Package_2_for_kb946924~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable2,00114-Feb-200822:58Not Applicable
Package_3_for_kb946924~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable2,00114-Feb-200822:58Not Applicable
Package_4_for_kb946924~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable2,00114-Feb-200822:58Not Applicable
Package_for_kb946924_client_0~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,43314-Feb-200822:58Not Applicable
Package_for_kb946924_client_1~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,37514-Feb-200822:58Not Applicable
Package_for_kb946924_client~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,72214-Feb-200822:58Not Applicable
Package_for_kb946924_sc_0~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,42914-Feb-200822:58Not Applicable
Package_for_kb946924_sc~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,43114-Feb-200822:58Not Applicable
Package_for_kb946924_server_0~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,43314-Feb-200822:58Not Applicable
Package_for_kb946924_server~31bf3856ad364e35~amd64~~6.0.1.0.mumNot Applicable1,43914-Feb-200822:58Not Applicable
Wow64_microsoft-windows-wow64_31bf3856ad364e35_6.0.6000.20771_none_ccf1bcdae03c50c1.manifestNot Applicable13,71513-Feb-200804:36Not Applicable
Wow64_microsoft-windows-wow64_31bf3856ad364e35_6.0.6001.22113_none_cf1adb9cdd306cba.manifestNot Applicable14,04013-Feb-200804:30Not Applicable
Ntvdm64.dll6.0.6000.2077116,38413-Feb-200804:22x64
Wow64.dll6.0.6000.20771234,49613-Feb-200804:24x64
Wow64cpu.dll6.0.6000.2077117,40813-Feb-200804:24x64
Wow64win.dll6.0.6000.20771288,76813-Feb-200804:24x64
Ntvdm64.dll6.0.6001.2211316,38413-Feb-200805:04x64
Wow64.dll6.0.6001.22113234,49613-Feb-200805:06x64
Wow64cpu.dll6.0.6001.2211317,40813-Feb-200805:06x64
Wow64win.dll6.0.6001.22113301,56813-Feb-200805:06x64
Acwow64.dll6.0.6000.2077142,49613-Feb-200804:14x86
Instnm.exe6.0.6000.207717,68013-Feb-200801:48x86
Ntvdm64.dll6.0.6000.2077114,33613-Feb-200804:17x86
Setup16.exe3.1.0.191826,11213-Feb-200801:48x86
User.exe6.0.6000.207712,56013-Feb-200801:48x86
Wow32.dll6.0.6000.207715,12013-Feb-200804:18x86
Acwow64.dll6.0.6001.2211343,00813-Feb-200804:08x86
Instnm.exe6.0.6001.221137,68013-Feb-200801:47x86
Ntvdm64.dll6.0.6001.2211314,33613-Feb-200804:12x86
Setup16.exe3.1.0.191826,11213-Feb-200801:47x86
User.exe6.0.6001.221132,56013-Feb-200801:47x86
Wow32.dll6.0.6001.221135,12013-Feb-200804:14x86

Hotfix information for Windows Server 2003

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

You must have Windows Server 2003 Server Pack 1 (SP1) or Windows Server 2003 Server Pack 2 (SP2) installed.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other previously released hotfixes.

Registry information

To use this hotfix, you do not have to make any changes to the registry.

File information

The English version of this hotfix 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 item in Control Panel.
Windows Server 2003, IA64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirementService branch
Wow64win.dll5.2.3790.3086581,12006-Feb-200802:54IA-64SP1SP1QFE
Wow64win.dll5.2.3790.4231581,12006-Feb-200803:06IA-64SP2SP2QFE
Windows Server 2003, x64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirementService branch
Wow64win.dll5.2.3790.3086287,23206-Feb-200802:54x64SP1SP1QFE
Wow64win.dll5.2.3790.4231287,23206-Feb-200803:11x64SP2SP2QFE

STATUS

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

MORE INFORMATION

The Windows SDK documentation incorrectly states that the puiNumDevices parameter contains the size, in bytes, of the preallocated buffer to which the pRawInputDeviceList parameter points. This documentation should state that the puiNumDevices parameter specifies the number of RAWINPUTDEVICELIST structures that can be contained in the buffer to which the pRawInputDeviceList parameter points.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

APPLIES TO
  • Windows Vista Enterprise 64-bit Edition
  • Windows Vista Home Basic 64-bit Edition
  • Windows Vista Home Premium 64-bit Edition
  • Windows Vista Ultimate 64-bit Edition
  • Windows Vista Business 64-bit Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
Keywords: 
kbautohotfix kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB946924
 

Article Translations

 

Related Support Centers