Udostępnij za pośrednictwem


CStringT::AllocSysString

Przydziela ciąg automatyzacji typu BSTR i kopiuje zawartość CStringT obiekt, włączając kończącego znaku null.

BSTR AllocSysString() const;

Wartość zwracana

Nowo przydzielone ciąg.

Uwagi

W programach MFC Klasa CMemoryException jest generowany, jeśli istnieje niewystarczająca ilość pamięci.W programach ATL CAtlException jest generowany.Tej funkcji używa się zazwyczaj w celu zwracają łańcuchy automatyzacji.

Zazwyczaj, jeżeli ten ciąg jest przekazywany do funkcji COM jako parametr [in], następnie wymaga wywołującego wolne ciąg.Można to zrobić za pomocą SysFreeString, jak opisano w Windows SDK.Aby uzyskać więcej informacji, zobacz Alokowanie i zwalnianie pamięci dla typu BSTR.

Więcej informacji o funkcji alokacji OLE w systemie Windows, zobacz SysAllocString w Windows SDK.

Przykład

Poniższy przykład ilustruje użycie CStringT::AllocSysString.

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("This is a test string!"));
BSTR bstr = str.AllocSysString();

// bstr now contains "This is a test string!", and can be
// passed to any OLE function requiring a BSTR.
// Normally, if you pass the BSTR, you will
// need to free the string after returning from the function call.   

Wymagania

Nagłówek: cstringt.h

Zobacz też

Informacje

Klasa CStringT