【WCE】实现永久性注册表数据保存 (VIACEPC BSP)
来源:互联网 发布:linux 3.16.0 编辑:程序博客网 时间:2024/04/30 05:47
目标系统的硬件环境:
VIA CLE266 NorthBridge + VT8235 SouthBridge,Transcend TS32MDOM40V DOM
目标系统的软件环境:
Windows CE 5.0,VIA CLE266/CN400/CN700 CEPC BSP
Hive-based:
- 将 Catalog/Device Drivers/Storage Devices/Storage Devices/ATAPI PCI/IDE Storage Block Driver/ATAPI PCI/IDE Storage Block Driver 加入 Workspace;
- 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Storage Manager/FAT File System 加入 Workspace;
- 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Registry Storage/Hive-based Registry 加入 Workspace;
- 菜单 Platform->Settings,在“Platform Settings”对话框中选择“Environment”标签,通过设置环境变量:
SET PRJ_ENABLE_FSREGHIVE = 1
保证如下注册表键值即可:[HKEY_LOCAL_MACHINE/init/BootVars]
"Flags"=dword:3
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile]
"MountAsBootable"=dword:1 - 然后,执行 Sysgen 即可。
RAM-based:
- 将 Catalog/Device Drivers/Storage Devices/Storage Devices/ATAPI PCI/IDE Storage Block Driver/ATAPI PCI/IDE Storage Block Driver 加入 Workspace;
- 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Storage Manager/FAT File System 加入 Workspace;
- 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Registry Storage/RAM-based Registry 加入 Workspace;
- 将 Catalog/Third Party/BSPs/VIA CLE266/CN400/CN700 CEPC: x86/HDD Registry Save 加入 Workspace;
- 然后,执行 Sysgen 即可。
Power-down flush:
Windows CE .Net 4.2 版的 VIACEPC BSP 提供了 SCIPWM 驱动程序用于处理 power-down flush。
- 对于 hive-based 注册表:
菜单 Platform->Settings,在“Platform Settings”对话框中选择“Environment”标签,通过设置环境变量:
SET PRJ_ENABLE_REGFLUSH_THREAD = 1
即可实现 lazy-flush。
故 SCIPWM 只用来处理例如按下电源按钮关机之类的 power-down 中断。 - 对于 RAM-based 注册表:
由于 VIA 的 HddRegSave 驱动程序使用的是 save-and-restore 方式,故 SCIPWM 是必须的。
此外,还要修改 $(_WINCEROOT)/PUBLIC/SHELL/OAK/HPC/EXPLORER/TASKBAR/stmenu.cpp 中的 StartMenu_ProcessCommand 函数,使其在执行“挂起”时保存注册表数据。
case IDM_START_SUSPEND:
...{
DWORD dwType;
DWORD dwLen;
DWORD dwValue;
DWORD lRet;
dwValue = TRUE; // Set default
dwLen = sizeof(dwValue);
lRet = RegQueryValueEx(HKEY_LOCAL_MACHINE, L"Suspend",
(LPDWORD) L"Explorer", &dwType,
(LPBYTE) &dwValue, &dwLen);
if (dwValue)
...{
RegCopyFile(L"//temp//wcereg");
CopyFile(L"//temp//wcereg", L"//IDE Flash//wcereg", FALSE);
GwesPowerOffSystem();
}
break;
}
...{
DWORD dwType;
DWORD dwLen;
DWORD dwValue;
DWORD lRet;
dwValue = TRUE; // Set default
dwLen = sizeof(dwValue);
lRet = RegQueryValueEx(HKEY_LOCAL_MACHINE, L"Suspend",
(LPDWORD) L"Explorer", &dwType,
(LPBYTE) &dwValue, &dwLen);
if (dwValue)
...{
RegCopyFile(L"//temp//wcereg");
CopyFile(L"//temp//wcereg", L"//IDE Flash//wcereg", FALSE);
GwesPowerOffSystem();
}
break;
}
- 【WCE】实现永久性注册表数据保存 (VIACEPC BSP)
- 实现永久性注册表数据保存(VIACEPC BSP)
- CoreData-实现数据永久性保存时产生的问题
- CoreData-实现数据永久性保存时遇到的问题
- 永久性保存
- C#注册表保存数据
- 本地永久性保存NSUserDefaults
- 关于数据保存到注册表。
- HIVE保存注册表的实现
- 【WCE】使用 8253 定时器蜂鸣 (CEPC BSP)
- 转帖]实现永久保存注册表数据(转自阿冰blog)
- WCE PPC 实现PDA电源/背光管理
- WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(13)-HIVE注册表实现
- jsp实现数据保存
- 用注册表保存数据 (VB函数篇)
- 用注册表保存数据——DOS应用简介
- 在intel852板子上实现WinCE保存注册表功能
- S3c6410 实现Wince600上 Xip+Hive注册表保存
- 从Struts应用开发框架转移到Struts 2 WEB框架 教程(一)
- 《Velocity1.4 java开发指南》中文版
- SDI全屏
- Java多线程编程基础之线程对象
- 迅雷不能解析域名
- 【WCE】实现永久性注册表数据保存 (VIACEPC BSP)
- 如何远程备份sql server数据库
- FreeMarker设计指南
- 最新Apache Struts 2 GA官方推荐版本释放发布
- JDK1.4的java.util.Logging包的使用说明与示例
- 尴尬,后悔……
- jsf的国际化
- XML字符串和XML DOCUMENT的相互转换
- Ajax 学习笔记(1)