WinCE启动以后,默认情况下,WinCE会每隔一段时间调用OEMGetRealTime()函数来获得系统的时间
SC_GetRealTime ----调用----> OEMGetRealTime();
SC_GetRealTime 声明在 Win32Methods[], 请问这个 Win32Methods[] 如何被操作系统调用?
///////////////////////////////////////////////////////////////////////////////////////
/////////////////////// 以下参考 ////////////////////////////////////
Kwin32.c (private\winceos\coreos\nk\kernel):static BOOL SC_GetRealTime (LPSYSTEMTIME lpst)
Kwin32.c (private\winceos\coreos\nk\kernel): (PFNVOID)SC_GetRealTime, // 28
const PFNVOID Win32Methods[] = {
(PFNVOID)SC_Nop,
(PFNVOID)SC_NotSupported,
(PFNVOID)SC_CreateAPISet, // 2
.......
(PFNVOID)SC_GetRealTime, // 28
(PFNVOID)SC_SetRealTime, // 29
...........
(PFNVOID)SC_ConnectOsAxsT1, // 196
};
貌似这个问题只有知道源码的人才能知道了, 一般情况下只能猜猜了
1. Windows CE 運行後是 shell 會定時呼叫類似 GetSystemTime 的 win32 api, 該函式實現於 Coredll.dll, 再由該 dll 與 kernel 的函式做溝通. 故該函式應是被 coredll.dll 來使用的.
2. 這方面的資料不多, 該相關的源碼 Microsoft 似也未公佈, 故細節也無法得知.
Paul, Chao @ Techware
同问,,CE启动时频繁调用 OEMGETREALTIME 怎么能让它读慢点儿呢?