CStringT::AllocSysString
Asigna una cadena de Automatización-compatible de tipo BSTR y copia el contenido del objeto de CStringT en él, incluido el carácter null de terminación.
BSTR AllocSysString() const;
Valor devuelto
La cadena recién asignada.
Comentarios
En programas MFC, se produce CMemoryException (Clase) si existe memoria insuficiente. En programas ATL, se produce CAtlException . esta función se utiliza normalmente para devolver las cadenas para la automatización.
Normalmente, si esta cadena se pasa a una función COM como [in] parámetro, después se requiere que el llamador liberar la cadena. Puede hacerlo con SysFreeString, como se describe en Windows SDK. Para obtener más información, vea Allocating and Releasing Memory for a BSTR.
Para obtener más información sobre las funciones de asignación VIEJAS en Windows, vea SysAllocString en Windows SDK.
Ejemplo
El siguiente ejemplo muestra el uso de 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.
Requisitos
encabezado: cstringt.h