2012-07-31 72 views
-3

經過長時間的谷歌閱讀我仍然不知道如何在C#上使用EDB http://msdn.microsoft.com/en-us/library/aa912256。我讀了很多關於封裝和SWIG解決方案的知識。但是我怎樣才能打包windbase.h中的函數。如何使用windbase.h在C#

我想在我的c#程序中製作EDB。我可以從< .h>做出某種方式的dll嗎?

+1

你需要學習P/Invoke。 – SLaks 2012-07-31 11:17:43

+0

與P/invoke我可以從C#調用非託管DLL函數。但我怎樣才能獲得像windbase.dll的東西? – vlkpo 2012-07-31 11:30:21

+0

據我所知,.h文件只包含聲明(因此名稱頭文件),定義在另一個文件中,由.h文件引用...所以在我看來,你不能轉換.h文件到一個庫中,因爲它缺少這些函數的實現。 – Hinek 2012-07-31 11:54:07

回答

0

經過一番努力,我想現在,嘗試在C#中使用windbase.h並不是一個好主意。有關於P/invok的很多有用的文章。只需將「從C#調用非託管DLL」寫入Google即可。其中一個最適合我的是:

http://msdn.microsoft.com/en-us/magazine/cc301501.aspx

而是因爲我們的非託管函數需要一個結構作爲參數,結構需要在託管代碼和非託管代碼中定義。換句話說,需要將所有結構和常量和東西重寫到c#中。並且還有windbase_edb.h,winnt.h,windef.h,winbase.h等其他依賴關係...

從我的角度來看這太難了。或者它可以做不同?