_bstr_t::_bstr_t

Microsoft Specific

Constructs a _bstr_t object.

_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 following table describes the _bstr_t constructors.

Constructor

Description

_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 is 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 with SysAllocString.

This constructor is used by wrapper functions in the type library headers to encapsulate and take ownership of a BSTR that is returned by an interface method.

END Microsoft Specific

See Also

Reference

_bstr_t Class

_variant_t Class

SysAllocString

Change History

Date

History

Reason

February 2009

Fixed syntax typo in Remarks table.

Restructured Remarks section.

Information enhancement.