文章目錄
- 2.1 Interop
- 2.2 P/Invoke
- 2.3 C++ Interop
- 2.4 COM Interop
- 2.5 封送處理
2.1 Interop
(1)interop123網站
l URL
http://www.interop123.com
http://www.interop123.net
http://www.interop123.cn
l 描述
本書的支援人員網站,也提供了一個互操作最佳實務的交流平台。
(2)dotnetinterop網站
l URL
http://www.dotnetinterop.com/
l 描述
一個列出了不少有關互操作技術資源的網站
(3)An Overview of Managed/Unmanaged Code Interoperability
l URL
http://msdn.microsoft.com/en-us/library/ms973872.aspx
l 描述
該文章介紹了Managed 程式碼和Unmanaged 程式碼之間互動操作的一些基礎知識。
(4)Interoperating with Unmanaged Code
l URL
http://msdn.microsoft.com/en-us/library/sd10k43k.aspx
l 描述
包括了一系列主題文章,介紹了一些在Managed 程式碼和Unmanaged 程式碼之間進行互操作的知識。
2.2 P/Invoke
(1)pinvoke.net網站
l URL
http://www.pinvoke.net/
l 描述
此網站上有大量豐富的對Win32 API進行P/Invoke時所需進行的託管聲明,使開發人員可以學習或快速尋找某些Win32函數的對應.NET聲明。
(2)Platform Invoke Tutorial
l URL
http://msdn.microsoft.com/en-us/library/aa288468.aspx
l 描述
本文介紹了如何藉助於P/Invoke技術在C#中調用非託管DLL中的函數及如何封送一些常用資料類型。
(3)Microsoft Win32 to Microsoft .NET Framework API Map
l URL
http://msdn2.microsoft.com/en-us/library/aa302340.aspx
l 描述
該文檔列出了在.NET Framework中已經實現了的、與Win32 API函數具有相同功能的方法。在避免不必要的、對某些Win32函數的進行P/Invoke的同時,也能使用.NET提供的對應託管實現編寫更安全、更高效的代碼。
(4)Windows API Reference
l URL
http://msdn2.microsoft.com/en-us/library/aa383749(VS.85).aspx
l 描述
有關Windows API的最權威指南。
(5)CLR Inside Out: Marshaling between Managed and Unmanaged Code
l URL
http://msdn2.microsoft.com/en-us/magazine/cc164193.aspx
l 描述
解釋了P/Invoke中容易混淆的某些基本概念,以及能夠簡化在託管和Unmanaged 程式碼間封送資料的方法和技巧。也包含了一個能夠為Win32函數自動產生對應託管聲明等功能的小工具。
(6)Calling Win32 DLLs in C# with P/Invoke
l URL
http://msdn.microsoft.com/zh-cn/magazine/cc164123(en-us).aspx
l 描述
介紹了如何使用P/Invoke技術調用Win32 API函數。
(7).NET Interoperability: .NET ? Win32
l URL
http://www.blong.com/Conferences/BorConUK2002/Interop1/Win32AndDotNetInterop.htm
l 描述
本文重點介紹了如何在Managed 程式碼中調用非託管DLL匯出的函數。
(8)從Managed 程式碼調用本機函數
l URL
http://msdn.microsoft.com/zh-cn/library/ms235282.aspx
l 描述
介紹了如何在C++中使用顯式P/Invoke(DllImport屬性)及使用C++ Interop(隱式PInvoke)從Managed 程式碼調用本機函數。
2.3 C++ Interop
(1)使用 C++ Interop
l URL
http://msdn.microsoft.com/zh-cn/library/2x8kf7zx(VS.80).aspx
l 描述
該主題介紹了如何使用C++ Interop技術實現Managed 程式碼和Unmanaged 程式碼的互動操作。
(2)Interop 的效能注意事項 (C++)
l URL
http://msdn.microsoft.com/zh-cn/library/ky8kkddw.aspx
l 描述
該主題介紹了使用C++ Interop技術在Managed 程式碼與Unmanaged 程式碼之間進行互操作時有關效能的若干準則和建議。
2.4 COM Interop
(1)CLR 完全介紹: COM Interop 簡介
l URL
http://msdn.microsoft.com/zh-cn/magazine/cc163494.aspx
l 描述
該主題介紹了COM Interop有關的基本概念,並提供了樣本,適合對COM Interop技術進行快速入門。
(2)Understanding Classic COM Interoperability With .NET Applications
l URL
http://www.codeproject.com/KB/COM/cominterop.aspx
l 描述
該主題詳細介紹了如何藉助於COM Interop技術在Managed 程式碼中使用COM組件以及如何在COM用戶端中使用.NET程式集。
(3)COM Interop Tutorials
l URL
http://msdn.microsoft.com/en-us/library/aa645712(VS.71).aspx
l 描述
該主題包含了兩篇在Managed 程式碼和COM組件之間進行互動的簡要指南。
(4) .NET Interoperability: COM Interop
l URL
http://www.blong.com/Conferences/BorConUK2002/Interop2/COMNetInterop.htm
l 描述
該文章介紹了如何在Managed 程式碼中使用非託管COM對象,以及如何在COM用戶端中使用託管.NET對象
(5)Improving Interop Performance
l URL
http://msdn.microsoft.com/en-us/library/ms998551.aspx
l 描述
該文章介紹了設計和建立用於同COM組件進行互操作的.NET組件時,有關提升效能的若干建議。
2.5 封送處理
(1)Interop Marshaling
l URL
http://msdn.microsoft.com/en-us/library/04fy9ya1.aspx
l 描述
該主題介紹了使用P/Invoke和COM Interop時,如何對資料進行封送處理。
(2)Default Marshaling Behavior
l URL
http://msdn.microsoft.com/en-us/library/zah6xy75.aspx
l 描述
該主題介紹了如何識別Interop 封送處理服務的預設封送處理行為。並對數組、布爾、字元、字串、類、結構體、對象及委託的封送處理行為進行了詳細的介紹。
(3)Copying and Pinning
l URL
http://msdn.microsoft.com/en-us/library/23acw07k(VS.71).aspx
l 描述
該主題介紹了在封送資料時,封送拆收器如何拷貝和鎖定資料。
(4)Overview of Marshaling in C++
l URL
http://msdn.microsoft.com/zh-cn/library/bb384865.aspx
l 描述
該主題介紹了在混合模式下,如何在本機類型和託管類型之間封送資料。
(5)Blittable and Non-Blittable Types
l URL
http://msdn.microsoft.com/zh-cn/library/aa719638(en-us).aspx
l 描述
該主題介紹了可直接複製到本機結構中的類型及非直接複製到本機結構中的類型。
(6)Windows Data Types
l URL
http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx
l 描述
該主題介紹了Windows編程中的常用資料類型。