国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2018-10-20 11:01:44張毅
智能計算機(jī)與應(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)用程序和語言之間共享二進(jìn)制代碼的規(guī)范,通過COM接口,多個動態(tài)鏈接庫(DLL)組件可以互相通訊。

Microsoft .NET Framework是用于Windows的新托管代碼編程模型,.NET托管DLL代碼模塊從.Net FrameWork運(yùn)行庫中獲得垃圾回收、類型檢查、安全支持等服務(wù)。與托管DLL不同,非托管DLL是在運(yùn)行庫之外運(yùn)行的代碼模塊,且必須自行構(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ū)動程序更新與推薦
深州市| 东乡| 旬邑县| 武威市| 西充县| 鲁山县| 乌恰县| 佛山市| 宜黄县| 剑阁县| 宁强县| 漾濞| 太谷县| 岱山县| 遂溪县| 宁明县| 宾阳县| 河源市| 上蔡县| 沙洋县| 沁阳市| 自贡市| 温州市| 河北区| 若尔盖县| 嵊泗县| 石屏县| 福清市| 汤原县| 南郑县| 徐汇区| 武鸣县| 武强县| 焦作市| 嘉禾县| 清镇市| 彭阳县| 台州市| 信丰县| 班戈县| 石嘴山市|