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