<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于COM的輕量級組件技術(shù)的簡(jiǎn)單實(shí)現

基于COM的輕量級組件技術(shù)的簡(jiǎn)單實(shí)現

作者: 時(shí)間:2010-09-01 來(lái)源:網(wǎng)絡(luò ) 收藏

2.1 管理的功能

Com庫中可維護兩個(gè)鏈表,分別用于存放插件DLL的信息和接口信息。

每次使用Com庫加載的DLL信息都將記錄到插件鏈表中。在為用戶(hù)創(chuàng )建接口前,還需要查詢(xún)插件鏈表,以判斷該插件是否已經(jīng)被加載,如已加載,便可直接使用,不需要重新加載,這樣可以節省系統開(kāi)銷(xiāo)。由于在應用中加載的插件數目有限,因此,查詢(xún)鏈表花費的時(shí)間代價(jià)可以忽略,圖4所示為存放插件信息的結構。其中CLASS_TABLE結構存放插件DLL的信息。接口鏈表可用來(lái)保存成功返回給用戶(hù)的插件接口。用戶(hù)申請接口時(shí),Com庫先在接口鏈表中查找該接口,如果已經(jīng)存在,則直接返回,這樣可以節省創(chuàng )建接口的時(shí)間,也可以有效地控制接口對象的數目。

圖5所示是CIMPL結構用于存放插件接口的信息。

釋放這兩個(gè)鏈表的過(guò)程就是釋放資源的過(guò)程。在標準中,資源管理是通過(guò)一個(gè)由接口自己負責的資源計數器完成的。在中,根據應用需要,每個(gè)接口只需要一個(gè)接口指針,而不需要資源計數器,釋放資源的任務(wù)由Com庫完成。當應用程序關(guān)閉時(shí),可將兩個(gè)資源鏈表中的接口對象刪除,并將組件DLL/SO卸載。

2.2 創(chuàng )建插件接口指針

Com庫的核心功能就是創(chuàng )建組件接口指針。

創(chuàng )建組件接口指針的函數為CoCreateInstance,它具有圖6所示的三個(gè)參數。其創(chuàng )建過(guò)程如圖7所示。



2.3 ExtensionSystem靜態(tài)庫

ExtensionSystem靜態(tài)庫中已加載了Com庫,并將Com庫的創(chuàng )建接口指針函數封裝成接口。這樣,客戶(hù)端在使用時(shí),就不需要關(guān)注Com庫的具體位置,而可以直接調用ExtensionSystem的接口來(lái)獲取插件接口指針。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>