Как создать раздел на устройстве Windows CE - PullRequest
1 голос
/ 07 апреля 2010

Есть ли какой-нибудь инструмент для создания нового раздела на устройстве Windows CE?
Устройство имеет флэш-память NAND, и первоначально было два раздела.С помощью диспетчера хранилища в панели управления мне удалось удалить один раздел, но когда я хочу создать его снова, я получаю сообщение об ошибке: «Не удается создать раздел».

1 Ответ

4 голосов
/ 07 апреля 2010

Исходный код Windows CE 6 позволяет получить исходный код BootPart library. Местоположение для источника WINCE600\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BOOTPART.

Внутри Bootpart.cpp вы можете найти функцию BP_OpenPartition, которая открывает / создает новый раздел. Это в основном добавляет информацию в MBR.


Вышеупомянутое решение является немного низким уровнем. Вот способ сделать это через Win32 API (взято из здесь ):

  • Позвоните OpenStore , чтобы получить ручку для магазина
  • Демонтировать магазин, используя DismountStore
  • FindFirstPartition / FindNextPartition будет перебирать существующие разделы, а DeletePartition будет удалять те, которые могут быть удалены.
  • GetStoreInfo даст вам количество секторов, доступных для создания нового раздела ((STOREINFO.snBiggestPartCreatable)
  • Используйте CreatePartition для создания раздела.

Все ссылки на функции и дополнительную информацию о диспетчере хранилища можно найти здесь: Справка по диспетчеру хранилища


Вы видите, что предоставленные мной ссылки указывают на то, что эти функции работают как в Windows Mobile 6, так и в Windows CE 6. Ни одна из этих функций не является новой, поэтому они также должны работать с Windows CE 5.

...