FIX: A memory leak occurs when the "CreateFile" method is called together with the "OPEN_EXISTING" flag on an encrypted volume in Windows Embedded CE 6.0 R3

Symptoms

Consider the following scenario:

  • You run a Windows Embedded CE 6.0 R3-based image that contains the Storage Manager components on the target device.
  • You install the Encfilt.dll encryption filter on a volume of a storage device. Then, the volume is encrypted.
  • You run an application that calls the CreateFile method together with the OPEN_EXISTING flag on a file in the encrypted volume.
  • The file in the encrypted volume does not exist.

In this scenario, a memory leak occurs. When this issue occurs for a long time, the application runs out of memory.

Cause

This issue occurs because of an error in the Encfilt.dll encryption filter.

Resolution

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Monthly Update December 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-111213-kb2646374-sh4.msi 638,976 13-Dec-2011 20:41
Wincepb60-111213-kb2646374-x86.msi 626,688 13-Dec-2011 20:41
Wincepb60-111213-kb2646374-armv4i.msi 647,168 13-Dec-2011 20:41
Wincepb60-111213-kb2646374-mipsii.msi 647,168 13-Dec-2011 20:41
Wincepb60-111213-kb2646374-mipsii_fp.msi 647,168 13-Dec-2011 20:41
Wincepb60-111213-kb2646374-mipsiv.msi 651,264 13-Dec-2011 20:41
Wincepb60-111213-kb2646374-mipsiv_fp.msi 651,264 13-Dec-2011 20:41

Files that are included in this update package

File name File size Date Time Path
Windows embedded ce 6.0_update_kb2646374.htm 7,639 13-Dec-2011 20:20 111213_kb2646374
Encfilt.lib 351,584 02-Dec-2011 19:53 Public\Common\Oak\Lib\Armv4i\Debug
Encfilt.lib 229,302 02-Dec-2011 19:53 Public\Common\Oak\Lib\Armv4i\Retail
Encfilt.lib 345,886 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsii\Debug
Encfilt.lib 236,396 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsii\Retail
Encfilt.lib 345,930 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsii_fp\Debug
Encfilt.lib 236,428 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsii_fp\Retail
Encfilt.lib 353,054 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsiv\Debug
Encfilt.lib 243,166 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsiv\Retail
Encfilt.lib 353,098 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Encfilt.lib 243,198 02-Dec-2011 19:53 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Encfilt.lib 297,260 02-Dec-2011 19:53 Public\Common\Oak\Lib\Sh4\Debug
Encfilt.lib 210,634 02-Dec-2011 19:53 Public\Common\Oak\Lib\Sh4\Retail
Encfilt.lib 305,134 02-Dec-2011 19:53 Public\Common\Oak\Lib\X86\Debug
Encfilt.lib 200,636 02-Dec-2011 19:52 Public\Common\Oak\Lib\X86\Retail

References

For more information about the CreateFile method, visit the following Microsoft Developer Network (MSDN) website:

CreateFile (Windows Embedded Compact 7) For more information about how to enable encryption, visit the following MSDN website:

Enabling Encryption for a Storage Device 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 updates