Share via


CStringT::AllocSysString

型 BSTR のオートメーション互換文字列を割り当て、終端の null 文字を含めるに CStringT のオブジェクトの内容をコピーします。

BSTR AllocSysString() const;

戻り値

新しく割り当てられた文字列。

解説

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

一般にこの文字列が[入力]パラメーターとして 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 クラス