如何将 LPWSTR 转换为 BSTR ?LPWSTR 是 WCHAR * 而 BSTR 是 OLECHAR *,OLECHAR 又是 WCHAR 类型,简单的类型转换就可以吗?或者我们需要做一些额外的努力?它显示错误的转换错误/警告。
问问题
714 次
2 回答
3
你这样做
BSTR pBstr = SysAllocString(szWCharString);
// do something with the BSTR here ...
SysFreeString(pBstr);
您必须记住通过之后调用来释放用于转换的空间SysFreeString
。
于 2013-05-29T06:16:12.137 回答
1
BSTR 由 OLECHAR[] 和附加到字符串的长度信息组成。BSTR 是指向 OLECHAR[] 部分的指针。但是 BSTR 函数需要长度信息(容量和当前长度)。
您需要SysAllocString函数来分配整个结构。
于 2013-05-29T06:16:53.980 回答