CComBSTR::CComBSTR
更新 : 2007 年 11 月
コンストラクタです。既定のコンストラクタは、CComBSTR::m_str メンバを NULL に設定します。
CComBSTR( ) throw( );
CComBSTR(
const CComBSTR& src
);
CComBSTR(
REFGUID guid
);
CComBSTR(
int nSize
);
CComBSTR(
int nSize,
LPCOLESTR sz
);
CComBSTR(
int nSize,
LPCSTR sz
);
CComBSTR(
LPCOLESTR pSrc
);
CComBSTR(
LPCSTR pSrc
);
パラメータ
nSize
[入力] sz からコピーする文字数、または CComBSTR の文字数の初期サイズ。sz
[入力] コピーする文字列。Unicode 規格では LPCOLESTR を指定し、ANSI 規格では LPCSTR を指定します。pSrc
[入力] コピーする文字列。Unicode 規格では LPCOLESTR を指定し、ANSI 規格では LPCSTR を指定します。src
[入力] CComBSTR オブジェクト。guid
[入力] GUID 構造体への参照。
解説
コピー コンストラクタは、m_str の値として src の BSTR メンバのコピーを設定します。REFGUID コンストラクタは、StringFromGUID2 を使用して GUID を文字列に変換し、結果を格納します。
ほかのコンストラクタは、m_str を指定文字列のコピーに設定します。nSize の値を渡した場合は、nSize 分の文字だけがコピーされ、終端の NULL 文字が付加されます。
デストラクタは、m_str が指す文字列を解放します。
使用例
CComBSTR bstr1; // BSTR points to NULL
bstr1 = "Bye"; // initialize with assignment operator
// ANSI string is converted to wide char
OLECHAR* str = OLESTR("ta ta"); // wide char string of length 5
int len = (int)wcslen(str);
CComBSTR bstr2(len + 1);// unintialized BSTR of length 6
wcsncpy_s(bstr2.m_str, bstr2.Length(), str, len); // copy wide char string to BSTR
CComBSTR bstr3(5, OLESTR("Hello World")); // BSTR containing 'Hello',
// input string is wide char
CComBSTR bstr4(5, "Hello World"); // same as above, input string
// is ANSI
CComBSTR bstr5(OLESTR("Hey there")); // BSTR containing 'Hey there',
// input string is wide char
CComBSTR bstr6("Hey there"); // same as above, input string
// is ANSI
CComBSTR bstr7(bstr6); // copy constructor, bstr7 contains 'Hey there'
必要条件
ヘッダー : atlcomcli.h