freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

高級(jí)軟件工程dcom、自動(dòng)化(存儲(chǔ)版)

  

【正文】 o = NULL 。 } 。 在 VARIANT結(jié)構(gòu)中標(biāo)識(shí)所保存數(shù)據(jù)的類(lèi)型。 // Number of arguments = amp。 bstrIn = ::SysAllocString(wszIn) 。 其中,每一個(gè)參數(shù)類(lèi)型都是 VARIANTARG。 HRESULT FxStringOut([out, retval] BSTR* pbstrOut) 。FooBar amp。 HRESULT GetTypeInfoCount( [out] UINT * pctinfo )。 mqi[0].hr = S_OK。ServerInfo, 3,//Number of interfaces amp。 } return TRUE 。 // Create the class factory for this ponent. IClassFactory* pIFactory = new CFactory(pData) 。 DCOM MIDL編譯器 makefile C編譯器 與連接器 ... DCOM Makefile 中的主要語(yǔ)句: midl /h /iid /proxy : $(SERVER_OBJS) link $(DLL_LINK_FLAGS) $(SERVER_OBJS) \ $(LIBS) /DEF: regsvr32 s : $(SERVER_OBJS) $(DIR_SERVER)\ link $(EXE_LINK_FLAGS) $(SERVER_OBJS) \ $(DIR_SERVER)\ \ $(LIBS) Server /RegServer : link $(EXE_LINK_FLAGS) \ $(LIBS) DCOM (3)本地服務(wù)器的實(shí)現(xiàn) 進(jìn)程內(nèi)服務(wù)器模式中 DllGetClassObject 創(chuàng)建類(lèi)廠 因?yàn)?EXE不輸出函數(shù) 必須給 CoGetClassObject提供 獲取 IClassFactory的方法 COM的解決方案是: 維護(hù)一個(gè)關(guān)于被登記類(lèi)廠的內(nèi)部表格 DCOM 當(dāng)客戶調(diào)用 CoGetClassObject時(shí) COM首先檢查關(guān)于類(lèi)廠的私有表格 以得到與客戶請(qǐng)求的 CLSID相應(yīng)的類(lèi)廠 若相應(yīng)的類(lèi)廠不在表格中 COM在注冊(cè)表中查找 并啟動(dòng)相應(yīng)的 EXE 此 EXE將完成相應(yīng)類(lèi)廠的登記 EXE調(diào)用 CoRegisterClassObject 完成類(lèi)廠的登記 DCOM BOOL CFactory::StartFactories() { CFactoryData* pStart = amp。 DCOM DCOM COM特性 ?語(yǔ)言無(wú)關(guān)性 二進(jìn)制 ?復(fù)用性 包含方式 聚合方式 ?進(jìn)程透明性 進(jìn)程內(nèi)服務(wù)程序 : DLL 本地服務(wù)程序 : EXE 遠(yuǎn)地服務(wù)程序 : DLL或 EXE =》 DCOM 為什么需要跨越進(jìn)程、跨越計(jì)算機(jī)? 軟件規(guī)模持續(xù)增加 不同 EXE程序之間需要交互 不同 EXE程序可以分布在 不同的計(jì)算機(jī)上 適用于分布式計(jì)算環(huán)境 關(guān)鍵問(wèn)題:進(jìn)程空間不同 DCOM 內(nèi) 容 跨越進(jìn)程 IDL/MIDL 本地服務(wù)器的實(shí)現(xiàn) 遠(yuǎn)程訪問(wèn)( DCOM)的實(shí)現(xiàn) DCOM的特性 DCOM ( 1)跨越進(jìn)程 每一個(gè) EXE文件都將在不同的進(jìn)程中運(yùn)行 每一個(gè)進(jìn)程都有自己的進(jìn)程空間 DLL將被映射到連接它們的 EXE文件的進(jìn)程空間 DLL被稱為進(jìn)程中服務(wù)器( Inproc server) EXE被稱為進(jìn)程外服務(wù)器( Outproc server) DLL提供的構(gòu)件將接口傳給客戶 一個(gè)接口實(shí)際上是一個(gè)函數(shù)指針數(shù)組 客戶必須能夠訪問(wèn)同接口相關(guān)聯(lián)的內(nèi)存 DCOM 對(duì)于跨越進(jìn)程邊界的接口 需滿足如下要求: 一個(gè)進(jìn)程需要能夠調(diào)用 另外一個(gè)進(jìn)程中的函數(shù) 一個(gè)進(jìn)程需要能夠?qū)?shù)據(jù)傳遞給 另外一個(gè)進(jìn)程 客戶無(wú)須關(guān)心它所訪問(wèn)的服務(wù)器 是 DLL還是 EXE DCOM 本地過(guò)程調(diào)用 不同進(jìn)程間通信的方法: DDE 管道 共享內(nèi)存等 LPC COM: LPC 基于 RPC的單機(jī)進(jìn)程間通信技術(shù) DCOM: RPC DCOM LPC由操作系統(tǒng)實(shí)現(xiàn) 客戶 構(gòu)件 EXE EXE LPC 進(jìn)程邊界 DCOM 編排( Marshal) 將函數(shù)調(diào)用的參數(shù)從一個(gè)進(jìn)程的地址空間中 傳到 另外一個(gè)進(jìn)程的地址空間中 LPC:將參數(shù)數(shù)據(jù)從一個(gè)進(jìn)程的地址空間 復(fù)制到 另外一個(gè)進(jìn)程的地址空間中 RPC:需要考慮不同機(jī)器在數(shù)據(jù)表示方面的不同 支持編排的接口為: IMarshal DCOM 代理 /殘根 DLL( surrogate/stub) 客戶同一個(gè)模仿構(gòu)件的 DLL通信 這個(gè) DLL可以為客戶完成 參數(shù)的編排 與 LPC調(diào)用 這個(gè) DLL被稱為 代理 構(gòu)件需要另一個(gè) DLL 這個(gè) DLL為構(gòu)件完成 參數(shù)的反編排 與 LPC調(diào)用 DCOM 客戶 構(gòu)件 EXE EXE LPC 進(jìn)程邊界 代理 殘根 DLL DLL DCOM ( 2) IDL/MIDL 先利用 IDL語(yǔ)言編寫(xiě)接口的描述 在利用 MIDL編譯器生成代理和殘根 DLL 與 UUID、 RPC類(lèi)似 IDL是從開(kāi)發(fā)軟件基金會(huì) OSF的 分布式計(jì)算環(huán)境( DCE)借用過(guò)來(lái)的 IDL語(yǔ)法與 C、 C++相同 COM只利用了 IDL的一個(gè)子集 并進(jìn)行了擴(kuò)展 MIDL編譯器接收接口的 IDL描述 并生成相應(yīng)的代理和殘根 DLL DCOM IDL 開(kāi)發(fā)人員可以不知道 LPC的細(xì)節(jié) 但必須知道如何利用 IDL描述自己的接口 但是 IDL不規(guī)范: 存在不一致 文檔資料差 缺乏典型的好例子 IDL可用于: 生成代理和殘根 DLL 建立類(lèi)型庫(kù)( Type Library) DCOM IDL例子: import 。 } 。 pDatam_dwRegister = NULL 。 pDatam_dwRegister = dwRegister 。 是等價(jià)的 DCOM ( 4)遠(yuǎn)程訪問(wèn)的實(shí)現(xiàn) 前述的本地服務(wù)器可以是遠(yuǎn)地服務(wù)器 即 不需要對(duì) 進(jìn)行任何修改 需要系統(tǒng)的支持: Windows 或者 DCOM for Windows95 它們需要 DCOM配置工具 DCOM 從遠(yuǎn)地服務(wù)器運(yùn)行 : 動(dòng)作 本地系統(tǒng) 遠(yuǎn)程系統(tǒng) 建立 、 以及
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1