delphi写的dll,Pchar 传参数,c#要怎样声明

QQ:954486673
微信:13822155058
淘宝:https://shop73172356.taobao.com/

函数原形如下,vb6,vfp,delphi 都可以正常调用,.net要怎样声明?

function StrAddStr(inpustr:PChar ;Var OutPutstr:PChar):integer;stdcall;
var
   str1:string;
begin
    str1:=inpustr;
    OutPutstr:=Pchar(str1+str1);
    result:=0;
end;

c#声明

[DllImport("PayApiFun.dll", EntryPoint = "StrAddStr", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
 static extern int StrAddStr(string inputstr,ref IntPtr outputstr);

string inputstr="我是中国人2019yes";

IntPtr outputs = Marshal.AllocHGlobal(255);   参数传入,申请内存空间

int real=StrAddStr(inputstr,ref outputs);

Marshal.PtrToStringAnsi(outputs).ToString();  获取地址内信息

猜你喜欢

转载自blog.csdn.net/zhangjin7422/article/details/100761983