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

参照

参照

CStringT クラス

その他の技術情報

CStringT のメンバ