4

如何将 LPWSTR 转换为 BSTR ?LPWSTR 是 WCHAR * 而 BSTR 是 OLECHAR *,OLECHAR 又是 WCHAR 类型,简单的类型转换就可以吗?或者我们需要做一些额外的努力?它显示错误的转换错误/警告。

4

2 回答 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 回答