其他封送處理範例

記憶體回收和執行緒等因素可能會影響 Interop 封送處理器的行為。此外,程式撰寫模型 (Programming Model) 和型別模組之間的微妙差異可能會使傳遞資料至 Unmanaged 程式庫產生混淆。本章節提供一組範例,強調部分這些差異。

下表列出項目之多種型別的封送處理選項、說明其用法,以及提供對應的範例之連結。

項目的型別 說明 範例

函數指標

將委派 (Delegate) 傳遞至預期函式指標的 Unmanaged 函式

回呼

HandleRef

使用 HandleRef 結構來避免記憶體回收

HandleRef

LPARAM

使用 GCHandle 結構來將 Managed 物件傳遞至預期 LPARAM 型別的 Unmanaged 函式

GCHandle

單一執行緒 Apartment (STA)/多執行緒 Apartment (MTA)

當 Unmanaged 函式呼叫 CoInitialize 時,變更預設的 Apartment 設定值

ActiveDir

void*

呼叫具有 void* 的函式做為參數

Void

請參閱

概念

平台叫用資料型別
封送處理字串
封送處理類別、結構和等位
封送處理型別的陣列

其他資源

使用平台叫用封送處理資料