Freigeben über


CStringT::AllocSysString

Ordnet eine Automatisierung-kompatible Zeichenfolge des Typs BSTR zu und kopiert den Inhalt des Objekts in CStringT es, einschließlich NULL.

BSTR AllocSysString() const;

Rückgabewert

Die neu zugeordnete Zeichenfolge.

Hinweise

In CMemoryException-Klasse MFC-Programmen wird ausgelöst, wenn nicht Arbeitsspeicher vorhanden ist. In ATL-Programmen wird CAtlException ausgelöst. Diese Funktion wird normalerweise verwendet, um Zeichenfolgen für die Automatisierung zurückzugeben.

Häufig wenn diese Zeichenfolge einer COM-Funktion als [in]-Parameter übergeben wird, dann dieses erfordert, dass der Aufrufer die Zeichenfolge freigeben. Dies kann erreichen, indem SysFreeString verwendet, wie in Windows SDK beschrieben. Weitere Informationen finden Sie unter Allocating and Releasing Memory for a BSTR.

Weitere Informationen zu OLE-Zuornungsanzahl-Funktionen in Windows, finden Sie unter SysAllocString in Windows SDK.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung von 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.   

Anforderungen

Header: cstringt.h

Siehe auch

Referenz

CStringT Class