ИСПРАВЛЕНИЕ. Утечка памяти происходит при вызове метода CreateFile вместе с флагом "OPEN_EXISTING" на зашифрованном томе в Windows Embedded CE 6.0 R3

Проблема

Рассмотрим следующий сценарий.

  • Вы запускаете образ Windows Embedded CE 6.0 R3, содержащий компоненты диспетчера хранилища на целевом устройстве.
  • Фильтр шифрования Encfilt.dll устанавливается на томе запоминающего устройства. Затем том шифруется.
  • Вы запускаете приложение, которое вызывает метод CreateFile вместе с флагом OPEN_EXISTING в файле в зашифрованном томе.
  • Файл в зашифрованном томе не существует.

В этом сценарии происходит утечка памяти. Если эта проблема возникает в течение длительного времени, у приложения заканчивается память.

Причина

Эта проблема возникает из-за ошибки в фильтре шифрования Encfilt.dll.

Решение

Сведения об обновлении программного обеспечения

Поддерживаемое обновление программного обеспечения теперь доступно корпорацией Майкрософт в виде ежемесячного обновления Windows Embedded CE 6.0 за декабрь 2011 г. В разделе "Сведения о файлах" имя файла пакета содержит версию продукта, дату, номер статьи базы знаний и тип процессора. Формат имени файла пакета выглядит следующим образом:

Версия продукта-ymmdd-kbnnnnnn-processor Type, Wincepb60-110128-kb2492159-armv4i.msi — это исправление ARMV4i Windows Embedded CE 6.0 Platform Builder, описанное в статье базы знаний 2492159 и содержащееся в ежемесячном обновлении за январь 2011 г.

Чтобы немедленно устранить эту проблему, скачайте ежемесячное обновление Windows Embedded CE 6.0 со следующего веб-сайта Майкрософт.

Центр загрузки Майкрософт

Windows Embedded CE 6.0

Необходимые условия

Это обновление поддерживается только в том случае, если также установлены все ранее выпущенные обновления для этого продукта.

Необходимость перезапуска

После применения этого обновления необходимо выполнить чистую сборку всей платформы. Для этого используйте один из следующих методов:

  • В меню Сборка выберите Пункт Чистое решение, а затем — Сборка решения.
  • В меню Сборка выберите перестроить решение.

После применения этого обновления не нужно перезагружать компьютер.

Сведения о замене обновления

Это обновление не заменяет никаких других обновлений.

Сведения о файлах

Английская версия этого пакета обновления программного обеспечения содержит атрибуты файлов (или более поздние), перечисленные в следующей таблице. Значения даты и времени для этих файлов указаны в формате UTC. При просмотре сведений о файлах они преобразуются в местное время. Чтобы найти разницу между временем в формате UTC и местным временем, используйте вкладку Часовой пояс в элементе Дата и время в панель управления.

Файлы установщика

Имя файла Размер файла Дата Время
Wincepb60-111213-kb2646374-sh4.msi 638,976 13 декабря 2011 г. 20:41
Wincepb60-111213-kb2646374-x86.msi 626,688 13 декабря 2011 г. 20:41
Wincepb60-111213-kb2646374-armv4i.msi 647,168 13 декабря 2011 г. 20:41
Wincepb60-111213-kb2646374-mipsii.msi 647,168 13 декабря 2011 г. 20:41
Wincepb60-111213-kb2646374-mipsii_fp.msi 647,168 13 декабря 2011 г. 20:41
Wincepb60-111213-kb2646374-mipsiv.msi 651,264 13 декабря 2011 г. 20:41
Wincepb60-111213-kb2646374-mipsiv_fp.msi 651,264 13 декабря 2011 г. 20:41

Files, включенные в этот пакет обновления

Имя файла Размер файла Дата Время Путь
Windows Embedded ce 6.0_update_kb2646374.htm 7,639 13 декабря 2011 г. 20:20 111213_kb2646374
Encfilt.lib 351,584 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Armv4i\Debug
Encfilt.lib 229,302 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Armv4i\Retail
Encfilt.lib 345,886 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsii\Debug
Encfilt.lib 236,396 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsii\Retail
Encfilt.lib 345,930 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsii_fp\Debug
Encfilt.lib 236,428 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsii_fp\Retail
Encfilt.lib 353,054 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsiv\Debug
Encfilt.lib 243,166 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsiv\Retail
Encfilt.lib 353,098 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsiv_fp\Debug
Encfilt.lib 243,198 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Mipsiv_fp\Retail
Encfilt.lib 297,260 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Sh4\Debug
Encfilt.lib 210,634 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\Sh4\Retail
Encfilt.lib 305,134 02 декабря 2011 г. 19:53 Public\Common\Oak\Lib\X86\Debug
Encfilt.lib 200,636 02 декабря 2011 г. 19:52 Public\Common\Oak\Lib\X86\Retail

Ссылки

Дополнительные сведения о методе CreateFile см. на следующем веб-сайте Microsoft Developer Network (MSDN):

CreateFile (Windows Embedded Compact 7) Дополнительные сведения о включении шифрования см. на следующем веб-сайте MSDN:

Включение шифрования для запоминаемого устройства Чтобы получить дополнительные сведения о терминологии обновлений программного обеспечения, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

824684 Описание стандартной терминологии, используемой для описания обновлений программного обеспечения Майкрософт