博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

调用C++动态链接库出现错误

Posted on 2016-11-22 17:52  生命如风  阅读(170)  评论(0编辑  收藏  举报
解决方式:将托管 System.String 中的内容复制到非托管内存(Marshal.StringToHGlobalAnsi)

class
HttpsSend { [DllImport("httpsSend.dll")] public static extern IntPtr markInvoice(IntPtr url, IntPtr input); public static string Send(string url, string content) { IntPtr urlPtr = Marshal.StringToHGlobalAnsi(url); IntPtr contentPtr = Marshal.StringToHGlobalAnsi(content); IntPtr outPutIntPtr = markInvoice(urlPtr, contentPtr); string outPut = Marshal.PtrToStringAnsi(outPutIntPtr); return outPut; } }