CComBSTR::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
[in] число символов для копирования из sz или исходные размеры в символах для CComBSTR.sz
[in] строка a, которые нужно скопировать.Версия юникод определяет LPCOLESTR; версия ANSI определяет LPCSTR.pSrc
[in] строка a, которые нужно скопировать.Версия юникод определяет LPCOLESTR; версия ANSI определяет LPCSTR.src
[in] объект a CComBSTR.guid
[in] ссылка на структуру Идентификатор GUID.
Заметки
Конструктор копий m_str задает скопировать src члена BSTR.Конструктор REFGUID преобразует Идентификатор GUID в строку с помощью StringFromGUID2 и сохраняет результат.
Другие конструкторы m_str устанавливается на копию указанной строки.Если передается значение nSize, то только символы nSize будут скопированы, а конечное нулем-символом.
Деструктор освобождает указанную строку в m_str.
Пример
CComBSTR bstr1; // BSTR points to NULL
bstr1 = "Bye"; // initialize with assignment operator
// ANSI string is converted to wide char
OLECHAR* str = OLESTR("Bye bye!"); // 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'
Требования
Header: atlbase.h