_bstr_t::_bstr_t

Microsoft Specific

Constructs a _bstr_t object.

Syntax

_bstr_t( ) throw( );
_bstr_t(
   const _bstr_t& s1
) throw( );
_bstr_t(
   const char* s2
);
_bstr_t(
   const wchar_t* s3
);
_bstr_t(
   const _variant_t& var
);
_bstr_t(
   BSTR bstr,
   bool fCopy
);

Parameters

s1
A _bstr_t object to be copied.

s2
A multibyte string.

s3
A Unicode string

var
A _variant_t object.

bstr
An existing BSTR object.

fCopy
If false, the bstr argument is attached to the new object without making a copy by calling SysAllocString.

Remarks

The _bstr_t class supplies several constructors:

_bstr_t( )
Constructs a default _bstr_t object that encapsulates a null BSTR object.

_bstr_t( _bstr_t& s1 )
Constructs a _bstr_t object as a copy of another. This constructor makes a shallow copy, which increments the reference count of the encapsulated BSTR object instead of creating a new one.

_bstr_t( char* s2 )
Constructs a _bstr_t object by calling SysAllocString to create a new BSTR object and then encapsulates it. This constructor first performs a multibyte to Unicode conversion.

_bstr_t( wchar_t* s3 )
Constructs a _bstr_t object by calling SysAllocString to create a new BSTR object and then encapsulates it.

_bstr_t( _variant_t& var )
Constructs a _bstr_t object from a _variant_t object by first retrieving a BSTR object from the encapsulated VARIANT object.

_bstr_t( BSTR bstr, bool fCopy )
Constructs a _bstr_t object from an existing BSTR (as opposed to a wchar_t* string). If fCopy is false, the supplied BSTR is attached to the new object without making a new copy by using SysAllocString. This constructor is used by wrapper functions in the type library headers to encapsulate and take ownership of a BSTR that's returned by an interface method.

END Microsoft Specific

See also

_bstr_t class
_variant_t class