【发布时间】:2011-11-09 04:11:30
【问题描述】:
我编写了一个 C++ DLL,导出了以下函数
extern "C" BOOL WINAPI SetUserPassword(const char* u, const char* p)
当从 C# 调用它时,我使用以下代码
[DllImport("mydll.dll")]
private static extern int SetUserPassword(String user, String password);
现在当SetUserPassword 被调用时,我只得到每个参数的第一个字母。我做了一些谷歌搜索,发现 String 可能不是最好的使用,因此尝试使用 IntPtr 和 Marshal.StringToBSTR() 但这也不起作用。
这应该如何正确构建?如果需要,我可以修改 C++ DLL。
【问题讨论】:
标签: c# c++ string char dllimport