虽然多年前的问题,接续http://bbs.youkuaiyun.com/topics/350068269中的讨论 ,始终没有找到合理的解释,通过分析winceos 核心源代码得知,在SCHEDULE.C文件中的SystemStartupFunc()函数中会调用OEMSetAlarmTime,但是是根据条件判断的。
什么条件呢,就是ft和ft3两个时间相关变量的比较。
if (hAlarmEvent) {
OEMGetRealTime(&st);
KSystemTimeToFileTime(&st,&ft);
KSystemTimeToFileTime(&CurAlarmTime,&ft2);
ft3.dwLowDateTime = 100000000; // 10 seconds
ft3.dwHighDateTime = 0;
sub64_64_64(&ft2,&ft3,&ft3);
if (KCompareFileTime(&ft,&ft3) >= 0) {
SetEvent(hAlarmEvent);
hAlarmEvent = NULL;
} else
OEMSetAlarmTime(&CurAlarmTime);
}
本文探讨了WinCE操作系统在启动过程中如何根据特定条件调用OEMSetAlarmTime设置报警时间。通过对SCHEDULE.C文件中SystemStartupFunc函数的源代码分析,揭示了ft和ft3时间变量的比较逻辑。
5907

被折叠的 条评论
为什么被折叠?



