解决方法
这并不像你想象的那么困难……什么是wchar_t *?这种类型通常代表什么价值?一个字符串.它等同于
windows.h中定义的LPWSTR类型.
所以,你把它作为一个字符串类型编组.但是,由于它是out参数(或返回值),因此您需要在C#端使用StringBuilder
class,而不是字符串类型.
P / Invoke语法看起来像这样:
[DllImport("MyLib.dll")] public static extern void MyFunction(StringBuilder str);
要使用它,首先要声明具有适当容量的StringBuiler类的实例,然后调用该函数:
StringBuilder myString = new StringBuilder(255); MyFunction(myString);