Share via


CStringT::SetSysString

pbstr によって指される BSTR を再割り当てし、NULL 文字も含めて CStringT オブジェクトの内容をコピーします。

BSTR SetSysString(
   BSTR* pbstr
) const;

パラメーター

  • pbstr
    文字列へのポインター。

戻り値

新しい文字列を返します。

解説

CStringT オブジェクトの内容に応じて、pbstr によって参照される BSTR の値は変わります。 メモリ不足のときは CMemoryException がスローされます。

この関数は、通常オートメーションに参照で渡される文字列の値を変更するときに使用します。

使用例

BSTR bstr = ::SysAllocString(L"Golf is fun!");

// create a CAtlString and change the OLE 
// string to the contents of the BSTR 
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString str(_T("Soccer is best!"));
BSTR bstr2 = str.SetSysString(&bstr);

// Now, both bstr and bstr2 reference a single instance of 
// the "Soccer" string. The "Golf" string has been freed.
ASSERT(bstr2 == bstr);   

必要条件

ヘッダー: cstringt.h

参照

関連項目

CStringT クラス

CMemoryException クラス