CStringT::SetSysString

重新 BSTR 指向由 pbstr 并复制 CStringT 对象的内容到它,包括 NULL 字符。

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);   

要求

Header: cstringt.h

请参见

参考

CStringT选件类

CMemoryException选件类