Udostępnij za pośrednictwem


CStringT::SetSysString

Reallocates BSTR wskazywanej przez pbstr i kopiuje zawartość CStringT obiekt, łącznie z NULL znaków.

BSTR SetSysString(
   BSTR* pbstr
) const;

Parametry

  • pbstr
    Wskaźnik do ciągu znaków.

Wartość zwracana

Nowy ciąg znaków.

Uwagi

W zależności od zawartości CStringT obiektu, wartość BSTR wskazaną przez pbstr można zmienić.Funkcja generuje CMemoryException , jeśli istnieje niewystarczająca ilość pamięci.

Ta funkcja zwykle służy do zmiany wartości ciągów przekazywanych przez odniesienie do automatyzacji.

Przykład

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

Wymagania

Nagłówek: cstringt.h

Zobacz też

Informacje

Klasa CStringT

Klasa CMemoryException