hidapi.c库中的内容:
int HID_API_EXPORT HID_API_CALL testwchar(wchar_t * string) {
//...
wcsncpy(string, cur_dev->serial_number, wcslen(cur_dev->serial_number));
return wcslen(cur_dev->serial_number);
} 我在c#中所拥有的:
[DllImport("hidapi.dll", CharSet = CharSet.Unicode)]
public static extern unsafe int testwchar(StringBuilder stringt);
StringBuilder sb = new StringBuilder(64);
res = testwchar(sb);我遗漏了c函数//中的一些代码...它通过vid/pid枚举设备和搜索,并返回序列,当我在testapi.cpp中测试它时,它工作得很好,但当我尝试编写c# gui...visual Studio2012时,它在谈论不平衡堆栈时出现错误……据我所知,如果我使用string作为输出参数,我需要使用string instead而不是string。
我做错了什么?谢谢你的建议。
附注:很抱歉,格式化不起作用,所以代码很乱...
发布于 2013-06-12 02:26:29
我建议您自己使用hidapi函数来编译所需的信息。您可以在here中找到有关它们的文档,而不是使用此字符串函数。这样效率会高得多。
如果您需要poniters,this page上的代码应该会对您有所帮助。
https://stackoverflow.com/questions/17050860
复制相似问题