本文介绍了如何从c#传递到c ++ .dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用dllimport方法将一个字符串从c#传递给c + + lib dll。
c ++ .dll的方法是: -

I'm using the dllimport method to pass a string from c# to the c++ lib dll.The c++ .dll's method is:-

bool WriteReply(const unsigned char *reply, const unsigned long reply_length);

如何从c#传递它,所以它会接受参数?我试过Intptr,byte []和字符串...没有什么工作,我继续得到 AccessViolationException 错误。

How do I pass it from c# so it will accept the arguments? I've tried Intptr, byte[], and string...nothing works, I keep getting the AccessViolationException error.

任何想法吗?
谢谢!

Any ideas anyone?Thanks!

推荐答案

我认为这会奏效:

[DllImport("dllfile.dll", EntryPoint = "WriteReply")]
private static extern bool
WriteReply(IntPtr reply, System.UInt32 reply_length);

这篇关于如何从c#传递到c ++ .dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-14 20:35