BSTR
(ラッパークラスとして使用して)を作成するとき、のコンストラクターの_bstr_t
いくつかを使用する必要があります。aはヌル文字を含む可能性のある長さのプレフィックス付き文字列であるため、指定されたネイティブ文字列のヌル終了に依存することなく、ネイティブ文字列を使用してそのような文字列を作成する可能性がなければなりません。_bstr_t
BSTR
例を挙げると:
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);