《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之81——BREW應用間通訊之共用記憶體

來源:互聯網
上載者:User

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

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

需要注意的是,剪貼簿上的資料將在有資料加入的情況下予以更新,有可能隨時更新,這時要調用ICLIPBOARD_GetSequence()讓調用程式確定剪貼簿是否進行過更新,序號只會在有資料加入時增加計數,資料刪除對序號沒有影響。手持功能關機再開機後,序號將會被重設。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.