FIX: Data allocated by using the VirtualAlloc function may change on a Windows Embedded CE 6.0 R3-based device that uses the ARM Cortex A-8 processor

Symptoms

Consider the following scenario:

  • You run an application or a driver that calls the VirtualAlloc function on a Windows Embedded CE 6.0 R3-based device. For example, the USB remote Network Driver Interface Specification (NDIS) class driver (Rndismp.dll) calls the VirtualAlloc function to allocate virtual memory for structures.
  • The flProtect parameter of the VirtualAlloc function is specified as the PAGE_NOCACHE attribute.
  • The device uses the ARM Cortex A-8 processor.

In this scenario, the data in the allocated memory may change. For example, the first bytes of the structure may become zero in the Rndismp.dll module.

Resolution

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Monthly Update September 2011. In the "File information" section, the package file name contains the product version, the date, the Knowledge Base article number, and the processor type. The package file name format is as follows:

Product version-yymmdd-kbnnnnnn-processor typeFor example, Wincepb60-110128-kb2492159-armv4i.msi is the ARMV4i Windows Embedded CE 6.0 Platform Builder fix that is documented in KB article 2492159 and that is contained in the January 2011 monthly update.

To resolve this problem immediately, download this Windows Embedded CE 6.0 Monthly Update from the following Microsoft website.

Microsoft Download Center

Windows Embedded CE 6.0

Prerequisites

This update is supported only if all previously issued updates for this product have also been installed.

Restart requirement

After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:

  • On the Build menu, click Clean Solution, and then click Build Solution.
  • On the Build menu, click Rebuild Solution.

You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this software update package 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.

Installer files

File name File size Date Time
Wincepb60-110930-kb2603744-mipsiv.msi 3,391,488 01-Oct-2011 02:53
Wincepb60-110930-kb2603744-mipsiv_fp.msi 3,514,368 01-Oct-2011 02:53
Wincepb60-110930-kb2603744-sh4.msi 3,178,496 01-Oct-2011 02:53
Wincepb60-110930-kb2603744-x86.msi 3,010,560 01-Oct-2011 02:53
Wincepb60-110930-kb2603744-armv4i.msi 3,518,464 01-Oct-2011 02:53
Wincepb60-110930-kb2603744-mipsii.msi 3,358,720 01-Oct-2011 02:53
Wincepb60-110930-kb2603744-mipsii_fp.msi 3,473,408 01-Oct-2011 02:53

Files that are included in this update package

File name File size Date Time Path
Windows embedded ce 6.0_update_kb2603744.htm 7,889 01-Oct-2011 02:40 110930_kb2603744
Vm.c 148,858 15-Sep-2011 00:35 Private\Winceos\Coreos\Nk\Kernel
Nkmain.lib 2,743,134 15-Sep-2011 00:32 Public\Common\Oak\Lib\Armv4i\Debug
Nkprmain.lib 2,779,998 15-Sep-2011 00:32 Public\Common\Oak\Lib\Armv4i\Debug
Nkmain.lib 1,766,094 15-Sep-2011 00:32 Public\Common\Oak\Lib\Armv4i\Retail
Nkprmain.lib 1,791,522 15-Sep-2011 00:32 Public\Common\Oak\Lib\Armv4i\Retail
Nkmain.lib 2,585,952 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsii\Debug
Nkprmain.lib 2,621,938 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsii\Debug
Nkmain.lib 1,675,428 15-Sep-2011 00:32 Public\Common\Oak\Lib\Mipsii\Retail
Nkprmain.lib 1,705,572 15-Sep-2011 00:32 Public\Common\Oak\Lib\Mipsii\Retail
Nkmain.lib 2,660,804 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsii_fp\Debug
Nkprmain.lib 2,697,066 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsii_fp\Debug
Nkmain.lib 1,735,130 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsii_fp\Retail
Nkprmain.lib 1,765,382 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsii_fp\Retail
Nkmain.lib 2,618,342 15-Sep-2011 00:34 Public\Common\Oak\Lib\Mipsiv\Debug
Nkprmain.lib 2,654,460 15-Sep-2011 00:34 Public\Common\Oak\Lib\Mipsiv\Debug
Nkmain.lib 1,700,508 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsiv\Retail
Nkprmain.lib 1,730,554 15-Sep-2011 00:33 Public\Common\Oak\Lib\Mipsiv\Retail
Nkmain.lib 2,698,452 15-Sep-2011 00:34 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Nkprmain.lib 2,734,846 15-Sep-2011 00:34 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Nkmain.lib 1,766,670 15-Sep-2011 00:34 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Nkprmain.lib 1,796,820 15-Sep-2011 00:34 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Nkmain.lib 2,180,764 15-Sep-2011 00:35 Public\Common\Oak\Lib\Sh4\Debug
Nkprmain.lib 2,205,996 15-Sep-2011 00:35 Public\Common\Oak\Lib\Sh4\Debug
Nkmain.lib 1,519,024 15-Sep-2011 00:35 Public\Common\Oak\Lib\Sh4\Retail
Nkprmain.lib 1,543,400 15-Sep-2011 00:35 Public\Common\Oak\Lib\Sh4\Retail
Nkmain.lib 2,172,408 15-Sep-2011 00:32 Public\Common\Oak\Lib\X86\Debug
Nkprmain.lib 2,200,540 15-Sep-2011 00:32 Public\Common\Oak\Lib\X86\Debug
Nkmain.lib 1,531,100 15-Sep-2011 00:31 Public\Common\Oak\Lib\X86\Retail
Nkprmain.lib 1,551,112 15-Sep-2011 00:31 Public\Common\Oak\Lib\X86\Retail

References

For more information about software update terminology, 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 updatesThe third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.