我想寫一個C function的包裝,期望一個函數指針和任意用戶數據(void*
)。函數指針我已經想出瞭如何處理使用委託,但我不知道如何將object
轉換爲void*
。將對象轉換爲void *並返回?
我可以把它ref object
而是因爲其行爲類似指針據我所知,但是當我嘗試,我得到像
在轉換過程中檢測到無效VARIANT從非託管VARIANT到異常管理對象。將無效的VARIANT傳遞給CLR可能會導致意外的異常,損壞或數據丟失。
This "solution"可能適用於我,但我想必須有一種方法可以將任意數據傳遞給C DLL,以便稍後傳回?
IntPtr呢? –
個人而言,我認爲你最好通過'fixed'塊來使用指向'struct'的指針...... –
@NoIdeaForName:C DLL將接受一個'IntPtr'沒問題,但是我怎麼把它打開當它返回時返回一個'object'(以及如何將一個對象轉換爲一個IntPtr)? – mpen