Freigeben über


CStringT::SetSysString

Teilt BSTR neu zu, das auf durch pbstr dargestellt wird und kopiert den Inhalt des Objekts in CStringT es, einschließlich NULL Zeichen.

BSTR SetSysString(
   BSTR* pbstr
) const;

Parameter

  • pbstr
    Ein Zeiger auf eine Zeichenfolge.

Rückgabewert

Die neue Zeichenfolge.

Hinweise

Abhängig vom Inhalt des CStringT-Objekts, kann der Wert BSTR, das von pbstr verwiesen wird, ändern. Die Funktion löst CMemoryException aus, wenn nicht Arbeitsspeicher vorhanden ist.

Diese Funktion wird normalerweise verwendet, um den Wert von Zeichenfolgen zu ändern, die als Verweis für die Automatisierung übergeben werden.

Beispiel

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

Anforderungen

Header: cstringt.h

Siehe auch

Referenz

CStringT Class

CMemoryException-Klasse