• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      非托管DLL調(diào)用.NETCOMDLL實現(xiàn)方法

      2018-10-20 11:01:44張毅
      智能計算機與應(yīng)用 2018年5期
      關(guān)鍵詞:驅(qū)動程序調(diào)用應(yīng)用程序

      張毅

      Abstract: To complete the hardware driver call,writing a .NET COM DLL in C# language,writing an unmanaged DLL in Delphi,the unmanaged DLL calls the .NET DLL through the Windows COM interface. Based on the above, this article puts forward a complete solution.

      引言

      Windows COM(組件對象模型)提供了一種在不同應(yīng)用程序和語言之間共享二進制代碼的規(guī)范,通過COM接口,多個動態(tài)鏈接庫(DLL)組件可以互相通訊。

      Microsoft .NET Framework是用于Windows的新托管代碼編程模型,.NET托管DLL代碼模塊從.Net FrameWork運行庫中獲得垃圾回收、類型檢查、安全支持等服務(wù)。與托管DLL不同,非托管DLL是在運行庫之外運行的代碼模塊,且必須自行構(gòu)建服務(wù)。例如COM 組件、ActiveX 接口和 Win32 API 函數(shù)都是非托管代碼的示例。

      隨著.Net FrameWork普及,很多硬件驅(qū)動程序采用C#開發(fā)成托管DLL供其它應(yīng)用程序調(diào)用。本文以Delphi 7 為例,探討Delphi 7 開發(fā)EXE應(yīng)用程序調(diào)用C# 定制的COM DLL,再將EXE代碼封裝為Windows非托管DLL模塊,實現(xiàn)非托管DLL通過COM接口調(diào)用.NET托管DLL的過程。

      英國Solartron數(shù)字量傳感器Orbit3,其底層驅(qū)動調(diào)用函數(shù)全部封裝在名為OrbitLibrary.dll的動態(tài)鏈接庫中,并與硬件驅(qū)動程序獲得同步自動安裝。該組件采用C#語言開發(fā),支持平臺為.Net FrameWork 4.0,通過VS2010和Delphi7編寫程序能夠?qū)崿F(xiàn)對OrbitLibrary.dll的調(diào)用,從而滿足硬件通訊要求。

      本文研究采用的開發(fā)模式是混合編程。首先通過C# 2010調(diào)試EXE應(yīng)用程序?qū)崿F(xiàn)對OrbitLibrary.dll調(diào)用,當(dāng)EXE調(diào)用驅(qū)動成功后,將EXE代碼改寫為.NET COM接口組件,并導(dǎo)出tlb文件。在Delphi 7中,通過引用方式在EXE中加載Windows COM組件,實現(xiàn)對OrbitLibrary.dll調(diào)用,調(diào)試成功再將Delphi EXE代碼改寫為Windows非托管DLL,而后轉(zhuǎn)入非托管DLL通過COM接口調(diào)用.NET COM DLL的過程。該方法已在多個工程項目中得到成功應(yīng)用。

      猜你喜歡
      驅(qū)動程序調(diào)用應(yīng)用程序
      核電項目物項調(diào)用管理的應(yīng)用研究
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      三星電子將開設(shè)應(yīng)用程序下載商店
      微軟軟件商店開始接受應(yīng)用程序
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      枣阳市| 固镇县| 稷山县| 儋州市| 兴化市| 海原县| 华容县| 韶关市| 轮台县| 中宁县| 石林| 宁安市| 旺苍县| 秭归县| 广西| 双峰县| 昭平县| 革吉县| 石嘴山市| 涪陵区| 固始县| 湄潭县| 类乌齐县| 静乐县| 扎兰屯市| 牙克石市| 和田市| 札达县| 牡丹江市| 睢宁县| 井陉县| 蒲城县| 新龙县| 招远市| 崇义县| 莱西市| 慈溪市| 鹤岗市| 交城县| 容城县| 防城港市|