这是我的第一篇文章!如何调用以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。如果你能指点我更好的东西,随时可以这样做。