创建BSTR
(用作包装类)时,_bstr_t
我必须使用. _bstr_t
由于 aBSTR
是可能包含空字符的长度前缀字符串,因此必须有可能使用本地字符串创建这样的字符串,而不依赖于给定本地字符串的空终止。
举个例子:
wchar_t* pwNativeString = L"abc\0def\0\0ghi\0\0\0"; // + automatic "\0"
// Now I want to create a BSTR using _bstr_t by this string.
_bstr_t spBSTR = _bstr_t(pwNativeString);
问题是构造函数依赖于pwNativeString
. 所以结果BSTR
只是"abc"
而已。所以我的问题是:如何创建一个BSTR
或_bstr_t
并传递一个指向具有特定长度的数组的指针?下面是一个伪代码示例:
_bstr_t spBSTR = _bstr_t(pwNativeString, 15);