平台叫用支援

更新:2007 年 11 月

平台叫用是一種服務,可讓 Managed 程式碼呼叫在 DLL 中實作的 Unmanaged 函式。雖然您可以與完整 .NET Framework 用一樣的語意方式使用平台叫用,但是 .NET Compact Framework 對於在 Unmanaged 和 Managed 程式碼之間封送處理物件與型別具有一些限制。

.NET Compact Framework 平台叫用有三個部分:

  1. 在設計階段,開發人員會提供進行呼叫的 Unmanaged 函式描述。此描述包含模組名稱 (DLL 檔)、進入點名稱和呼叫慣例 (Calling Convention)。

  2. 在 Just-In-Time (JIT) 編譯階段,Common Language Runtime 會從中繼資料擷取這個資訊、找到包含該函式的 DLL、將 DLL 載入記憶體,及擷取函式的位址。如果找不到模組或函式,Common Language Runtime 會擲回 MissingMethodException

  3. 在執行階段,Common Language Runtime 在呼叫 Unmanaged 函式前,會將參數的 Managed 格式封送處理為 Unmanaged 格式。Common Language Runtime 會根據方法的 Managed 宣告,決定如何封送處理每個參數。

在本節中

相關章節