BREW應用間通信之共享內存

實際上,事件傳遞本質上就是一種共享內存的通信方式。ICLIPBOARD可以用於實現 AEE 層中的剪切和粘貼功能,是共享內存通信的另一種重要形式。由於剪貼板數據在應用程序結束後仍可能存在,因而此函數會分配新內存並將內容複製到新的緩衝區,也就是說ICLIPBOARD_Set() 分配的內存在系統內存裏,所以可以被其他的應用所使用。如果傳遞指針爲 NULL 或大小爲 0 的參數,將會釋放現有的剪貼板數據。

目標應用希望從剪貼板獲得通信內容的時候,需要使用ICLIPBOARD_EnumInit()初始化剪貼板中各格式的枚舉上下文,然後調用ICLIPBOARD_GetData()將指定格式的剪貼板數據複製到目標緩衝區,如果剪貼板中的數據不是目標應用所需要的,需要調用ICLIPBOARD_EnumNext()返回下一個可用/註冊的剪貼板格式進一步處理,以此類推。在目標應用處理完畢後,可以調用ICLIPBOARD_Empty()從剪貼板中刪除所有格式的所有數據。如果最後一個應用程序沒有調用 ICLIPBOARD_Empty 來釋放剪貼板,並且 BREW 在手持設備關機後退出,則剪貼板上的所有數據均將丟失。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章