Interop 封送處理
本章節的定位讀者包含使用平台叫用 (Invoke)、COM Interop 或封送處理資料的程式設計人員。某些封送處理規則與預設資料型別在兩種機制上有所不同:
如果您使用平台叫用,本章節提供了封送處理字串、陣列、類別、結構、等位和多種型別的範例。
如果您使用 COM Interop,本章節有描述自訂 Interop 包裝函式的方式。
Interop 封送處理會控制如何以方法引數傳遞資料,以及控制呼叫期間於 Managed 和 Unmanaged 記憶體之間的傳回值。Interop 封送處理是由 Common Language Runtime 的封送處理服務所執行的執行階段活動。
本章節提供 Interop 封送處理的概觀,以及呈現有關封送處理在 Unmanaged 記憶體中有不同或模稜兩可表示的資料型別之詳細資訊。同時也描述如何套用 MarshalAsAttribute 屬性以及使用 Marshal 類別所公開的方法來更改預設的封送處理行為。
在本節中
- Interop 封送處理概觀
描述封送處理服務、它與 COM 封送處理的關聯性 (Relationship),以及它在遠端通訊中扮演的角色。
- 預設的封送處理行為
描述 Interop 封送處理用來封送處理資料的規則。
- 使用平台叫用封送處理資料
描述如何宣告方法參數,以及將引數傳遞給 Unmanaged 程式庫所匯出的函式。
- 使用 COM Interop 封送處理資料
描述如何自訂 COM 包裝函式以更改封送處理行為。
- HOW TO:對應 HRESULT 和例外狀況
描述如何將自訂例外狀況對應到 HRESULT,並提供每一個 HRESULT 與其在 .NET Framework 中可比較的例外狀況類別之完整對應。
- 使用泛型型別互通
描述使用泛型型別來取得 COM 互通性時,所支援的動作為何。
相關章節
- 與 Unmanaged 程式碼互通
描述 Common Language Runtime 提供的互通性 (Interoperability) 服務。
- 進階 COM 互通性
提供關於將 COM 元件加入至 .NET Framework 應用程式的詳細資訊連結。
- 互通的設計考量
提供撰寫整合式 COM 元件的秘訣。
- 遠端物件
說明 .NET Framework 中可用來進行遠端通訊的各種通訊方法。