CStringT::AllocSysString
更新 : 2007 年 11 月
オートメーション互換の BSTR 型文字列を割り当て、CStringT オブジェクトの内容をコピーします。文字列の終わりを示す NULL 文字もコピーします。
BSTR AllocSysString() const;
戻り値
新しく割り当てられた文字列を返します。
解説
メモリ不足の場合は、CMemoryException クラス がスローされます。この関数は、通常、オートメーションで文字列を返すために使用します。
一般的に、この文字列が ([in] パラメータとして) COM 関数に渡される場合は、呼び出し元が文字列を解放する必要があります。これは、Windows SDK で説明されているように、SysFreeString を使用して行います。詳細については、「BSTR 用のメモリの割り当てと解放」を参照してください。
Windows の OLE 割り当て関数の詳細については、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.
必要条件
ヘッダー : cstringt.h