FIX: The GetLastError function may not return an error code when an existing file is programmatically copied to a new file on a partition that has the encryption filter installed 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 partition that is full.

  • You take one of the following actions:

    • You run a managed application that calls the File.Copy method to copy an existing file to a new file on the partition.
    • You run a native application that calls the CopyFile function to copy an existing file to a new file on the partition.
  • You call the GetLastError function to return error information.

In this scenario, either the managed application or the native application does not return an error as expected. The managed application shows that the file copy is successful. In the native application, although the CopyFile function returns False, the result of the GetLastError function returns no error code.

Resolution

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Monthly Update November 2011. In the "File information" section, the package file name contains the product version, the date, the Microsoft 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 Knowledge Base 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-111102-kb2627799-armv4i.msi 1,536,000 02-Nov-2011 20:39
Wincepb60-111102-kb2627799-mipsii.msi 1,503,232 02-Nov-2011 20:39
Wincepb60-111102-kb2627799-mipsii_fp.msi 1,503,232 02-Nov-2011 20:39
Wincepb60-111102-kb2627799-mipsiv.msi 1,523,712 02-Nov-2011 20:39
Wincepb60-111102-kb2627799-mipsiv_fp.msi 1,523,712 02-Nov-2011 20:39
Wincepb60-111102-kb2627799-sh4.msi 1,425,408 02-Nov-2011 20:39
Wincepb60-111102-kb2627799-x86.msi 1,323,008 02-Nov-2011 20:39

Files that are included in this update package

File name File size Date Time Path
Windows embedded ce 6.0_update_kb2627799.htm 7,898 02-Nov-2011 17:30 111102_kb2627799
Apis.c 36,633 11-Oct-2011 17:18 Private\Winceos\Coreos\Core\Dll
Coremain.lib 715,978 11-Oct-2011 17:13 Public\Common\Oak\Lib\Armv4i\Debug
Encfilt.lib 351,608 11-Oct-2011 17:13 Public\Common\Oak\Lib\Armv4i\Debug
Kcoremain.lib 638,708 11-Oct-2011 17:13 Public\Common\Oak\Lib\Armv4i\Debug
Coremain.lib 574,854 11-Oct-2011 17:13 Public\Common\Oak\Lib\Armv4i\Retail
Encfilt.lib 229,428 11-Oct-2011 17:13 Public\Common\Oak\Lib\Armv4i\Retail
Kcoremain.lib 517,320 11-Oct-2011 17:13 Public\Common\Oak\Lib\Armv4i\Retail
Coremain.lib 677,720 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii\Debug
Encfilt.lib 345,910 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii\Debug
Kcoremain.lib 606,954 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii\Debug
Coremain.lib 557,376 11-Oct-2011 17:13 Public\Common\Oak\Lib\Mipsii\Retail
Encfilt.lib 236,240 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii\Retail
Kcoremain.lib 507,384 11-Oct-2011 17:13 Public\Common\Oak\Lib\Mipsii\Retail
Coremain.lib 677,992 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii_fp\Debug
Encfilt.lib 345,954 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsii_fp\Debug
Kcoremain.lib 607,214 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii_fp\Debug
Coremain.lib 557,648 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii_fp\Retail
Encfilt.lib 236,272 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii_fp\Retail
Kcoremain.lib 507,550 11-Oct-2011 17:14 Public\Common\Oak\Lib\Mipsii_fp\Retail
Coremain.lib 687,212 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsiv\Debug
Encfilt.lib 353,078 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsiv\Debug
Kcoremain.lib 616,192 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsiv\Debug
Coremain.lib 570,082 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsiv\Retail
Encfilt.lib 243,106 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsiv\Retail
Kcoremain.lib 519,564 11-Oct-2011 17:15 Public\Common\Oak\Lib\Mipsiv\Retail
Coremain.lib 687,484 11-Oct-2011 17:16 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Encfilt.lib 353,122 11-Oct-2011 17:16 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Kcoremain.lib 616,452 11-Oct-2011 17:16 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Coremain.lib 570,354 11-Oct-2011 17:16 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Encfilt.lib 243,138 11-Oct-2011 17:16 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Kcoremain.lib 519,730 11-Oct-2011 17:16 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Coremain.lib 581,958 11-Oct-2011 17:17 Public\Common\Oak\Lib\Sh4\Debug
Encfilt.lib 297,284 11-Oct-2011 17:17 Public\Common\Oak\Lib\Sh4\Debug
Kcoremain.lib 520,694 11-Oct-2011 17:17 Public\Common\Oak\Lib\Sh4\Debug
Coremain.lib 498,308 11-Oct-2011 17:17 Public\Common\Oak\Lib\Sh4\Retail
Encfilt.lib 210,630 11-Oct-2011 17:17 Public\Common\Oak\Lib\Sh4\Retail
Kcoremain.lib 453,074 11-Oct-2011 17:17 Public\Common\Oak\Lib\Sh4\Retail
Coremain.lib 580,558 11-Oct-2011 17:12 Public\Common\Oak\Lib\X86\Debug
Encfilt.lib 305,150 11-Oct-2011 17:12 Public\Common\Oak\Lib\X86\Debug
Kcoremain.lib 523,966 11-Oct-2011 17:12 Public\Common\Oak\Lib\X86\Debug
Coremain.lib 500,366 11-Oct-2011 17:12 Public\Common\Oak\Lib\X86\Retail
Encfilt.lib 200,682 11-Oct-2011 17:12 Public\Common\Oak\Lib\X86\Retail
Kcoremain.lib 455,620 11-Oct-2011 17:12 Public\Common\Oak\Lib\X86\Retail

References

For more information about file system encryption that is implemented as a file system filter, visit the following Microsoft Developer Network (MSDN) website:

File System Encryption For more information about the CopyFile function, visit the following MSDN website:

CopyFile For more information about the GetLastError function, visit the following MSDN website:

GetLastError 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