我有一個非託管(C/C++)DLL,我需要從C#應用程序調用。如何從C#訪問非託管數據
DLL調用需要將數據(從DLL創建的C++類)返回給C#應用程序。
我可以控制DLL的導出函數,所以我可以根據需要在C++類中創建一個包裝器。我知道如何用p/Invoke來訪問DLL,所以我只是在尋找一些關於如何返回數據的指導。
從DLL接收的數據是一系列鍵值對,所以我在考慮返回一個JSON字符串並使用Json.NET將其反序列化爲一個對象。
訪問來自C#/。NET應用程序的非託管源的此類數據的首選方式是什麼?
如果您包含從C++導出的方法簽名,我相信有人會幫助您編寫所需的PInvoke。 – 2010-08-06 16:55:20
不知道你打算複製什麼樣的數據,JSON看起來像這樣的矯枉過正。爲什麼不只是null/tab/colon/whatever-delimit字符串? 更好的是,爲什麼不添加一個C++/CLI模塊並直接轉換所有內容而不是通過P/Invoke? – ChrisV 2010-08-06 17:02:53