平台叫用支援
更新:2007 年 11 月
平台叫用是一種服務,可讓 Managed 程式碼呼叫在 DLL 中實作的 Unmanaged 函式。雖然您可以與完整 .NET Framework 用一樣的語意方式使用平台叫用,但是 .NET Compact Framework 對於在 Unmanaged 和 Managed 程式碼之間封送處理物件與型別具有一些限制。
.NET Compact Framework 平台叫用有三個部分:
在設計階段,開發人員會提供進行呼叫的 Unmanaged 函式描述。此描述包含模組名稱 (DLL 檔)、進入點名稱和呼叫慣例 (Calling Convention)。
在 Just-In-Time (JIT) 編譯階段,Common Language Runtime 會從中繼資料擷取這個資訊、找到包含該函式的 DLL、將 DLL 載入記憶體,及擷取函式的位址。如果找不到模組或函式,Common Language Runtime 會擲回 MissingMethodException。
在執行階段,Common Language Runtime 在呼叫 Unmanaged 函式前,會將參數的 Managed 格式封送處理為 Unmanaged 格式。Common Language Runtime 會根據方法的 Managed 宣告,決定如何封送處理每個參數。
在本節中
DllImportAttribute 支援的欄位
列出 DllImportAttribute 類別所支援的欄位子集。平台叫用包裝函式範例
提供進行平台叫用呼叫之結構的程式碼範例。
相關章節
Interop 封送處理支援
討論在 .NET Compact Framework 中,Managed 和 Unmanaged 程式碼之間封送處理資料型別的差異。HOW TO:取得裝置平台
HOW TO 主題示範如何使用平台叫用 (Invoke)