次の方法で共有


CStringT::AllocSysString

更新 : 2010 年 7 月

オートメーション互換の BSTR 型文字列を割り当て、CStringT オブジェクトの内容をコピーします。文字列の終わりを示す NULL 文字もコピーします。

BSTR AllocSysString() const;

戻り値

新しく割り当てられた文字列を返します。

解説

MFC プログラムでは、CMemoryException クラスメモリの不足が存在する場合にスローされます。 ATL プログラムをCAtlExceptionがスローされます。 この関数は、通常、オートメーションで文字列を返すために使用します。

一般的に、この文字列が ([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 のメンバー

履歴の変更

日付

History

理由

2010 年 7 月

追加情報再 CAtlException。

カスタマー フィードバック