2012-07-31 71 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等其他依赖关系...

从我的角度来看这太难了。或者它可以做不同?