易截截图软件、单文件、免安装、纯绿色、仅160KB

C#调C dll时传递IntPtr获取不到值 - .NET技术 / C#

C/C++ code:

//这是在.h头文件中定义的
struct _TestStruct;
typedef struct _TestStruct TestStruct;

//这是在.cpp文件中定义的
typedef struct _TestStruct
{
TestStruct1 struct1;
TestStruct2 struct2;
}TestStruct;

__declspec(dllexport) TestStruct* __stdcall Init()
{
return init();
}

__declspec(dllexport) BOOL __stdcall Update_Info(intptr_t* struct, char* key, char* value)
{
return update_info((TestStruct*)struct, key, value);
}

//释放
__declspec(dllexport) void __stdcall Free_Struct(intptr_t struct)
{
return free_struct((TestStruct*)struct);
}


C# code:

[DllImport("Test.dll")]
public static extern IntPtr Init();

[DllImport("Test.dll")]
public static extern bool Update_Info(IntPtr struct, String key, String value);

[DllImport("Test.dll")]
public static extern void Free_Struct(IntPtr struct);


因为不需要公开,所以在头文件中定义的结构,在.cpp文件中实现结构。
现在问题是C#要调用dll中这几个函数,运行全部通过,但是带不出值,
请大家帮帮忙,急啊......
在线等,如果解决,必定加分答谢!~


问题自己解决了,不好意思,忘了及时上来结贴。
谢谢1楼2楼两位。
问题出在我内部指针传递有错....


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

求助:C代码change toVB代码 - VB / 基础类

挺繁琐,之前发的帖子,分值太低现在重发一个。欢迎各位大侠~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[] ......

使用带用户名和密码的ACCESS连接方式 - .NET技术 / C#

使用ACCESS最大的隐患就是不安全。今天对ACCESS数据库设置了一个密码,必须使用密码才能打开,但是在程序中却无法连接数据库了。大家知道使用用户名和密码,如何连接ACCESS数据库?貌似ACCESS的用户名还不知道?只知 ......

c# listview添加合计行 - .NET技术 / C#

用listview显示出从数据库中查询出的记录,想在最后记录后面添加一条合计行,如何实现!谢谢大家!
绑定数据你应该没问题吧,绑定完以后用一个循环把你要统计数据的列中的数据总和用一个变量接受,然后在循环外面ne ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号