求教:c#中如何访问调用C++写的DLL中,参数类型问题

pzrr_00 2005-11-13 04:42:36
针对于const char* c_decrypt(const char* src, char* dest, int size)
该声明,我该如何写这个函数的C#声明?主要是参数传递有问题
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzrr_00 2005-11-13
  • 打赏
  • 举报
回复
还是不对啊。
比如我SRC是“AAAA”
但是在C++里接收到的却只是一个“A”,还是没用。。
jxufewbt 2005-11-13
  • 打赏
  • 举报
回复
楼上正解

using System.Runtime.InteropServices;

[DllImport("XXX.DLL",EntryPoint="GetApiFunction",SetLastError=true)]
public static extern int GetApiFunction(
string strParaA,
StringBuilder strParaB,
int intParaC,
out int intParaD,
bool blnParaE);

C++数据类型和C#的部分对应关系:

C++ 输入输出 C#
==================================
char chr[255] O StringBuilder
KCA_DIR I int
LPCSTR I string
int I int
LPSTR O StringBuilder
int* O out int
DWORD I int
DWORD* O out int
BOOL I bool
Rc_DBMgr I IntPtr
long* O out long
真相重于对错 2005-11-13
  • 打赏
  • 举报
回复
extern static string c_decrypt(string src, stringbuilder dest , int size)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧