WINCE USB使用一段时间后不能同步问题的修复
2014-01-15 09:56
253 查看
作者:LoongEmbedded
转自:/article/1440813.html
WINCE系统在使用USB同步功能一段时间后,会出现同步失败的问题,这时候弹出对话框:
对话框的内容是“无法验证您设备上ActiveSync的版本,可能有程序(例如防火墙)正在阻止使用ActiveSync端口连接到设备,或者可能需要升级到PC上教新版本的ActiveSync”,这个问题很多使用WINCE系统的朋友都遇到过,目前只能找到出现问题时修复此问题的办法:
1. 在OEMInit函数中处理
在出现此问题的情况下,重启时执行下面的操作就可以解决此问题,但此动作相当于回复出厂设置了。
// Check clean boot flag in BSP Args area
//
{
// This is the global shared Args flag
BOOL *bCleanBootFlag = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_CLEANBOOT);
if(*bCleanBootFlag)
{
OALMSG(1, (TEXT("OEM: Force clean boot.\r\n")));
// Clear the flag so that we don't get here in the next boot unless itis set again.
*bCleanBootFlag = FALSE;
// Tell filesys.exe that we want a clean boot.
NKForceCleanBoot();
// Also set the hive and storage clean flags if not already set
{
BOOL *bHiveCleanFlag = (BOOL*)OALArgsQuery(BSP_ARGS_QUERY_HIVECLEAN);
BOOL *bFormatPartFlag = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_FORMATPART);
*bHiveCleanFlag = TRUE;
*bFormatPartFlag = TRUE;
}
}
}
2. 删除default.vol
HANDLE hPartition;
hPartition= OpenPartition(OpenStore(_T("DSK2:")), _T("Part00"));
DismountPartition(hPartition);
MountPartition(hPartition);
if(DeleteFile(_T("\\SysDisk\\Documentsand Settings\\default.vol")) == FALSE)
{
MessageBox(_T("Repairfail"));
}
else
{
MessageBox(_T("Repairsuccess"));
}
CloseHandle(hPartition);
使用同步功能过程中,\\Documents and Settings\\default.vol文件会越来越大,不能正常同步就是default.vol文件被异常修改了,值需要删除此文件,然后冷启动即可,冷启动的时候,系统功能会自动生成新的(也就是刚刷完系统后的)default.vol,这样就可以解决此问题了。
但是在使用一段时间后,还有可能会重现此问题,这时,只需要做同样的修复动作就可以了。当然最好的办法就从根本上杜绝此问题的产生,知道的朋友,还望分享一下。
备注:另外一篇关于解决此问题的博文:http://blog.csdn.net/renpine/article/details/4709437#comments
转自:/article/1440813.html
WINCE系统在使用USB同步功能一段时间后,会出现同步失败的问题,这时候弹出对话框:
对话框的内容是“无法验证您设备上ActiveSync的版本,可能有程序(例如防火墙)正在阻止使用ActiveSync端口连接到设备,或者可能需要升级到PC上教新版本的ActiveSync”,这个问题很多使用WINCE系统的朋友都遇到过,目前只能找到出现问题时修复此问题的办法:
1. 在OEMInit函数中处理
在出现此问题的情况下,重启时执行下面的操作就可以解决此问题,但此动作相当于回复出厂设置了。
// Check clean boot flag in BSP Args area
//
{
// This is the global shared Args flag
BOOL *bCleanBootFlag = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_CLEANBOOT);
if(*bCleanBootFlag)
{
OALMSG(1, (TEXT("OEM: Force clean boot.\r\n")));
// Clear the flag so that we don't get here in the next boot unless itis set again.
*bCleanBootFlag = FALSE;
// Tell filesys.exe that we want a clean boot.
NKForceCleanBoot();
// Also set the hive and storage clean flags if not already set
{
BOOL *bHiveCleanFlag = (BOOL*)OALArgsQuery(BSP_ARGS_QUERY_HIVECLEAN);
BOOL *bFormatPartFlag = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_FORMATPART);
*bHiveCleanFlag = TRUE;
*bFormatPartFlag = TRUE;
}
}
}
2. 删除default.vol
HANDLE hPartition;
hPartition= OpenPartition(OpenStore(_T("DSK2:")), _T("Part00"));
DismountPartition(hPartition);
MountPartition(hPartition);
if(DeleteFile(_T("\\SysDisk\\Documentsand Settings\\default.vol")) == FALSE)
{
MessageBox(_T("Repairfail"));
}
else
{
MessageBox(_T("Repairsuccess"));
}
CloseHandle(hPartition);
使用同步功能过程中,\\Documents and Settings\\default.vol文件会越来越大,不能正常同步就是default.vol文件被异常修改了,值需要删除此文件,然后冷启动即可,冷启动的时候,系统功能会自动生成新的(也就是刚刷完系统后的)default.vol,这样就可以解决此问题了。
但是在使用一段时间后,还有可能会重现此问题,这时,只需要做同样的修复动作就可以了。当然最好的办法就从根本上杜绝此问题的产生,知道的朋友,还望分享一下。
备注:另外一篇关于解决此问题的博文:http://blog.csdn.net/renpine/article/details/4709437#comments
相关文章推荐
- WINCE USB使用一段时间后不能同步问题的修复
- Fluid Mask 3.3.16 在 mac OS X Sierra (10.12) 和 High Sierra (10.13)系统中无法启动和不能作为PhotoShop 插件使用问题修复
- QQ2013导致adb不能使用问题的修复
- 修复xcode6.2 插件不能使用问题
- 使用Automachron软件解决Windows时间同步功能不能正常使用问题
- 解决VS2005 不能使用同步软件连接2440的问题
- ElasticSearch使用jdbc-river同步数据库出现dateOptionalTime不能识别的问题解决办法一则
- 解决VS2005 不能使用同步软件连接2440的问题
- Linux 修改系统变量错误大致基础命令不能使用问题修复!
- spring @transactional 和synchronized同时使用不能同步的问题
- Spring @transactional注解和synchronized同步锁同时使用不能同步的问题
- OK6410之Jlink_V8固件修复以及其它不能使用问题
- CentOS更新Python版本,同时修复yum不能使用的问题
- WINCE 6.0 同步驱动在XP上面使用一段时间出现感叹号的问题
- QQ2013导致adb不能使用问题的修复
- struts2.1.6 s:datetimepicker标签不能使用的问题解决
- ehcache在windows下使用RMI同步时出现的问题
- const常量用extern声明定义的问题(extern变量不能在使用类里初始化)
- 解决rz命令不能使用的问题
- 解决MyEclipse 6中不能使用 alt + / 快捷键进行快速提示问题(转)