如何将C#类型封送到LPWSTR* 我有一个本地C++项目,它的结构看起来像: struct COMStringArray { long lSize; LPWSTR * array; }; 使用C++语言编写的COM对象,所以我需要整理我的C++类型,以便在C++项目中使用。 我试过这个: public struct COMStringArray { public int lSize; [MarshalAs(UnmanagedType.LPArray)] public string[] array; }

如何将C#类型封送到LPWSTR* 我有一个本地C++项目,它的结构看起来像: struct COMStringArray { long lSize; LPWSTR * array; }; 使用C++语言编写的COM对象,所以我需要整理我的C++类型,以便在C++项目中使用。 我试过这个: public struct COMStringArray { public int lSize; [MarshalAs(UnmanagedType.LPArray)] public string[] array; },c#,c++,com,marshalling,comobject,C#,C++,Com,Marshalling,Comobject,但我在向REGASM注册dll时出现以下错误: “结构中的警告数组必须是SafeArrays或ByValArray” 是否可以输出类似LPWSTR*的内容?我需要使用IntPtr吗?@HansPassant同样,如果你知道在结构中注册LPArray的问题,你就会理解这个问题。@berthos按照这个逻辑,你也可以只发布没有文本的代码,希望人们能为你破译它。包括错误消息有助于使您的问题可搜索,并欢迎更集中的答案。你的问题越精确,你得到的答案就越好。@HansPassant另外,如果你知道在结构中注

但我在向REGASM注册dll时出现以下错误: “结构中的警告数组必须是SafeArrays或ByValArray”


是否可以输出类似LPWSTR*的内容?我需要使用IntPtr吗?

@HansPassant同样,如果你知道在结构中注册LPArray的问题,你就会理解这个问题。@berthos按照这个逻辑,你也可以只发布没有文本的代码,希望人们能为你破译它。包括错误消息有助于使您的问题可搜索,并欢迎更集中的答案。你的问题越精确,你得到的答案就越好。@HansPassant另外,如果你知道在结构中注册LPArray的问题,你就会理解这个问题。@berthos按照这个逻辑,你也可以只发布没有文本的代码,希望人们帮你破译它。包括错误消息有助于使您的问题可搜索,并欢迎更集中的答案。你的问题越精确,你得到的答案就越好。