CStringT::AllocSysString
分配类型 BSTR 的一个符合自动化的字符串并复制 CStringT 对象的内容到它,包括终止null字符)。
BSTR AllocSysString() const;
返回值
最近分配的字符串。
备注
在MFC程序,因此,如果内存不足存在,CMemoryException选件类 将引发。在ATL程序,CAtlException 将引发。此功能通常用于返回自动化的字符串。
通常,因此,如果该字符串传递给COM函数为 [in] 参数,则要求调用方释放字符串。使用 SysFreeString,则可以执行,如 Windows SDK所述。有关更多信息,请参见 分配和释放BSTR的内存。
有关OLE在Windows的分配函数的更多信息,请参见 Windows SDK的 SysAllocString。
示例
下面的示例说明 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.
要求
Header: cstringt.h