WCE之“系統事件”——System/Events

來源:互聯網
上載者:User

 

WCE之“系統事件”——System/Events

1、 簡介

Event——事件,相信有線程概念的編程人員都知道,它可以用來同步不同進程、不同線程的通訊。在Windows CE 5.0系統中,有一種我稱之為“系統事件”的Event——即由Windows CE系統本身建立的事件。

2、 “系統事件”的生命週期

       首先介紹個註冊表:[HKEY_LOCAL_MACHINE/System/Events],可在WCE5.0檔案目錄WINCE500/PUBLIC/COMMON/OAK/FILES/common.reg中找到。這個註冊表中包含了所有的“系統事件名稱”——就是CreateEvent函數用到的名稱。如2-1所示,其中左邊的"SYSTEM/DevMgrApiSetReady"是系統事件名稱,右邊"Device Manager APIs ready"是這個事件的描述。

圖2-1 系統事件註冊表

在WCE裝置啟動過程中,Filesys.exe會根據[HKEY_LOCAL_MACHINE/System/Events]中的系統事件名稱來建立這些事件。Filesys.exe在WCE啟動過程中時間很早,所以這些事件也在所有的運行程式和大部分的驅動程式載入之前在系統中存在了,並且在系統中一隻存在,直到WCE系統關閉,即裝置關機。

WCE系統事件由系統建立,由系統撤銷。因此,系統事件的生命週期是伴隨著整個WCE系統存在而存在。這也是為什麼我稱之為WCE“系統事件”的原因。

3、 用途

       WCE系統事件由系統建立,由系統撤銷。那麼剩下我們做的就是:OpenEvent、SetEvent等操作了。

       你可以用這些系統事件來同步進程或線程,WCE系統本身就是這樣做的。特別是在WCE裝置啟動過程中,先啟動的程式要等待後啟動的程式狀態的,系統事件就特別好用。我發現這系統事件的性質是這樣的:手動、初始狀態為未觸發。

4、 參考資訊

       PB協助:Windows CE Features > Core OS Services > Core OS Design Development > Kernel Overview > System Calls > Determining if an API is Ready

       Windows CE Features > Core OS Services > Core OS Design Development > Kernel Overview > System Calls > Determining if an API is Ready

 

 

       僅供參考,如有錯誤,請指教!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.