這是我的第一篇文章!如何調用以C指針作爲參數的C dll中的函數#
我想使用C#將使用預編譯C庫的Windows窗體程序。它將訪問智能卡並提供輸出。 對於圖書館,我有一個.dll,.lib和.h,沒有來源。在.h文件中定義了幾個結構。 .dll最有趣的功能是指向分配結構的指針作爲參數。我一直稱該.dll裏面的功能是這樣的:例如函數
EID_API int WINAPI EidStartup(int nApiVersion);
將被稱爲像這樣
[DllImport("CelikApi.dll")]//the name of the .dll
public static extern int EidStartup(int nApiVersion);
現在我的問題是,我無法找到同樣的C的指針,其指向在C#中的內存中動態分配的結構,所以我不知道要傳遞給需要C指針的函數的參數。我沒有太多的C#經驗,但對我來說,它的使用看起來是製作我需要的程序最簡單的方法。我嘗試過使用C++,但Visual Studio 2010沒有針對C++/CLR的IntelliSense。如果你能指點我更好的東西,隨時可以這樣做。