答案 0 :(得分:0)
假设这些参数是从应用程序中提供给您的,为什么不简单地使用:
[DllImport(aDll.dll, CallingConvention = CallingConvention.Cdecl,
CharSet = CharSet.Auto)]
static unsafe extern uint aMethod(out string firstParameter,
out string secondParameter);
如果你想让它们双向进行,你可以使用预分配大小的ref StringBuilder
(如果C函数希望你管理自己的内存,你也应该使用它 - 你没有说)。
答案 1 :(得分:0)
尝试将CharSet
更改为CharSet = CharSet.Ansi