代表受到 CLR (Common Languages Runtime) 的管理,泛指基於 .net framework 平台所開發的程式。
【UnManaged Code / Native Code】
相對於Managed Code, 表示未受到 CLR 的管理,例如:Win32 API、C++、VB 6...。
【COM Interop】
可以將.net所寫的組件(Assembly)「偽裝」成一般的COM元件,提供Unmanaged Code使用,或者反回來在Managed Code裡引用非.net開發的COM元件。在 Managed Code 與 Unmanaged Code之間,比較簡單的互動即是透過COM元件處理,大多數的windows程式平台幾乎都支援。
【Registration Free(Reg-Free) COM】
免註冊型的COM元件;通常會需要產生 mainifest 檔案,裡面存放組件相關的metadata。
【COM Server/Client】
通常為了明確表示主客體,COM元件本身為Server角色、使用COM的程式相對來說就是Client,並非是實體的 Server & Client 表示。
最後,強烈建議一定要安裝 Microsoft All-In-One Code Framework 來尋寶,因為跟著微軟工程師撰寫的Sample Code,真的可以節省很多摸索、實作的時間。
以 COM Interop 來說,我依著國外網友的推薦,找到了 All-In-One COM Code Samples 這個大集合,裡面有各式各樣使用不同語言及技術撰寫COM Server/Client的範例,例如:「CSRegFreeCOMServer」是「使用C#寫免註冊的COM元件」、「CppRegFreeCOMClient」就是「在Native C++裡呼叫免註冊的COM元件」。
而且依照各專案下的 ReadMe.txt 的說明,Step-By-Step 就能做出一樣的東西,真是佛心來著的啊~~~
延伸閱讀
- [.NET] 使用 .NET Framework 開發 ActiveX Control (1)–背景知識
- An Overview of Managed/Unmanaged Code Interoperability
- Configure .NET-Based Components for Registration-Free Activation
- Microsoft All-In-One Code Framework
- 介紹好用 Visual Studio 2010 擴充套件:All-In-One Code Framework Sample Browser
- All-In-One COM Code Samples
- Registration Free COM/.Net interop
- Registration-Free Activation of COM Components: A Walkthrough
- Side-by-side Assemblies Reference
- Guidelines for Creating Side-by-side Assemblies
沒有留言:
張貼留言