欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
COM原理及應用----命名和綁定技術(shù)

1、COM對象的創(chuàng )建方法

   客戶(hù)程序可以通過(guò)CoCreateInstance函數創(chuàng )建COM,在創(chuàng )建之前必須知道對象的一些基本情況,比如對象的CLSID或者對象的ProgID。

   另一種對象創(chuàng )建方法通過(guò)名字對象(moniker)創(chuàng )建,就利用對象命名和綁定技術(shù)(即名字技術(shù))。

  2、名字技術(shù)的地位

   名字技術(shù)算不上COM的基本核心,但也COM體系結構中重要的組成部分,它為客戶(hù)程序和組件程序提供了另一條更為靈活的聯(lián)系紐帶。OLE的成功使名字技術(shù)得到了廣泛的應用,而且在OLE和COM的不斷發(fā)展過(guò)程中,名字技術(shù)發(fā)揮了其強大的擴展特性,異步名字對象的實(shí)現使它超越了OLE的應用范圍,能更好地適用于網(wǎng)絡(luò )環(huán)境,特別Internet網(wǎng)絡(luò ),體現了名字技術(shù)強大的生命力。

  名字技術(shù)允許客戶(hù)程序通過(guò)符號化的方式訪(fǎng)問(wèn)組件對象,而不必通過(guò)CLSID和類(lèi)廠(chǎng)訪(fǎng)問(wèn)COM對象。名字技術(shù)不僅為COM對象提供了符號化的表達方式,而且它充分體現了面向對象軟件體系的一些重要概念,甚至可以把它當作軟件體系結構的一項技術(shù)來(lái)學(xué)習。

  3、COM名字技術(shù)包括兩方面內容:命名技術(shù)和綁定過(guò)程

  4、名字對象

   名字技術(shù)的核心名字對象,COM使用術(shù)語(yǔ)”moniker”來(lái)表示名字對象,它本身也一個(gè)COM對象。名字對象為組件對象提供了符號化的表示方法,同時(shí)它也對組件對象進(jìn)行了全面的封裝,客戶(hù)程序只需創(chuàng )建相應的名字對象,然后利用名字對象的綁定功能得到組件對象。名字對象能夠自動(dòng)使組件對象從被動(dòng)狀態(tài)進(jìn)入運行狀態(tài),所以名字對象也稱(chēng)為永久智能名字(persistent intelligent names)。

   名字對象封裝了組件對象的所有狀態(tài)處理過(guò)程,因此客戶(hù)程序可以按照統一的方法處理名字對象,即使要引用新的組件對象,客戶(hù)代碼也不必作任何改動(dòng)。

  5、文件名與名字對象

   文件名字對象(file moniker)一種基本的名字對象,文件名也通過(guò)符號化的字符串名指向實(shí)際的文件。文件名代表了一個(gè)磁盤(pán)文件,文件名本身不一個(gè)對象,它只代表了文件對象的路徑,因此,文件名不具有智能特性。

   COM對象的永久狀態(tài)可以整個(gè)文件,也可以文件的一部分。

   雖然名字對象扮演了與文件名相同的角色,但名字對象的功能要強大得多。首先,它所表達的對象范圍廣闊得多,除了一般的文件對象,它也可以表達文件中的部分內容,其次,名字對象具有智能特性,即它可以使被動(dòng)態(tài)的對象自動(dòng)進(jìn)入運行態(tài),名字對象找到與永久狀態(tài)聯(lián)系的運行代碼,并啟動(dòng)這些代碼,利用對象的初始化功能使對象進(jìn)入運行狀態(tài),這個(gè)過(guò)程就名字對象的綁定操作。

  6、名字對象的綁定過(guò)程

   名字對象實(shí)現了標準的COM接口IMoniker,客戶(hù)程序通過(guò)IMoniker接口獲得組件對象。

   客戶(hù)程序通過(guò)名字對象訪(fǎng)問(wèn)組件對象可以分成兩步:第一,獲得名字對象;第二,執行名字對象的綁定操作(使用IMoniker接口的函數BindToObject),綁定過(guò)程的結果就組件對象的接口指針。

   客戶(hù)程序獲得名字對象的途徑有兩條:第一,調用COM API函數,如MkParseDisplayName和CreateFileMoniker;第二,其他對象的接口成員函數傳遞過(guò)來(lái),或者通過(guò)其他的數據傳輸機制得到,比如通過(guò)剪貼板或拖-放操作等。

  7、IMoniker

 ?。?)    名字管理函數:IsEqual、Hash、IsRunning、GetTimeOfLastChange。

 ?。?)    綁定函數:BindToObject、BindToStorage。

 ?。?)    復合名字對象管理函數:Reduce、ComposeWith、Enum、Inverse、CommonPrefixWith、RelativePathTo、IsSystemMoniker。

 ?。?)    名字解析函數:GetDisplayName、MkParseDisplayName。

  8、復合名字對象

  復合名字對象由一組其他的名字對象組成,也可以包括其他的復合名字對象,復合名字對象提供了一種創(chuàng )建任意復雜名字的機制。COM提供了一個(gè)標準的復合名字對象實(shí)現,稱(chēng)為“通用復合名字對象(generic composite moniker)”,并提供了標準API函數創(chuàng )建此類(lèi)名字對象:CreateGenericComposite。

   IMoniker接口從IPersistStream派生而來(lái),所以名字對象也一個(gè)永久對象,它可以有自己的永久狀態(tài)。復合名字對象的永久狀態(tài)一個(gè)流,它順序保存了每個(gè)組成名字對象的永久狀態(tài)。

   通用復合名字對象按統一的方式處理它的各個(gè)成員名字對象,無(wú)論綁定過(guò)程還其他一些操作,如名字解析、名字簡(jiǎn)化等?!  ?/p>

   COM使用運行對象表(ROT,running object table)表管理當前系統中正在運行的、已經(jīng)被注冊的名字對象,客戶(hù)程序可調用COM API函數GetRunningObjectTable得到ROT表的IRunningObjectTable接口指針。

  IMoniker接口的大多數成員函數以及其他一些API函數都包含一個(gè)被稱(chēng)為綁定環(huán)境的對象,在這些函數中,以IBindCtx接口指針的形式出現。綁定環(huán)境對象主要用于名字對象的整個(gè)綁定過(guò)程,所以它包含了綁定過(guò)程所需要的一些信息。由于綁定環(huán)境對象COM實(shí)現的系統對象,所以COM提供了一個(gè)API函數創(chuàng )建它:CreateBindCtx。綁定過(guò)程比較耗

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
com 名字對象(2)創(chuàng )建名字對象(IMoniker)
COM編程技術(shù)基礎概述之六
VC知識庫文章 - COM 組件設計與應用(一)——起源及復合文件
spring中用到哪些設計模式
面象對象的思想
我對COM的理解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久