如何将 PUNICODE_STRING 转换为 bstr?
我正在从 VC++ 代码调用 ComVisible 托管 dll 中的函数。在托管dll中,函数参数类型是字符串。
在 VC++ 代码中,我将变量设置为 PUNICODE_STRING。我怎样才能将它传递给函数?如何将其转换为 BSTR?
谢谢。
自然LV
I'm calling a function which is in a ComVisible managed dll from a VC++ code. In the managed dll the function parameter type is string.
In the VC++ code i've the variable as PUNICODE_STRING. How can i pass it to the function? How can i convert it into BSTR?
Thank you.
NLV
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先要注意的是 PUNICODE_STRING 的内部字符串缓冲区可能不是以 null 结尾的。因此,最好使用标准的空终止宽字符串,然后可以直接传递给 SysAllocString。
试试这个:
The first thing to note is that PUNICODE_STRING's internal string buffer might not be null-terminated. So it would be best to go via a standard null-terminated wide string, that can then be passed straight to SysAllocString.
Try this: