Share via


_com_ptr_t::operator =

Microsoft Specific

Assigns a new value to an existing _com_ptr_t object.

template<typename _OtherIID> 
_com_ptr_t& operator=( 
   const _com_ptr_t<_OtherIID>& p 
);

// Sets a smart pointer to be a different smart pointer of a different 
// type or a different raw interface pointer. QueryInterface is called 
// to find an interface pointer of this smart pointer's type, and 
// Release is called to decrement the reference count for the previously 
// encapsulated pointer. If QueryInterface fails with an E_NOINTERFACE, 
// a NULL smart pointer results.
template<typename _InterfaceType> 
_com_ptr_t& operator=( 
   _InterfaceType* p 
);

// Encapsulates a raw interface pointer of this smart pointer's type. 
// AddRef is called to increment the reference count for the encapsulated
// interface pointer, and Release is called to decrement the reference 
// count for the previously encapsulated pointer.
template<> _com_ptr_t&  
operator=( 
   Interface* pInterface 
) throw();

// Sets a smart pointer to be a copy of another instance of the same 
// smart pointer of the same type. AddRef is called to increment the 
// reference count for the encapsulated interface pointer, and Release 
// is called to decrement the reference count for the previously 
// encapsulated pointer.
_com_ptr_t& operator=( 
   const _com_ptr_t& cp 
) throw();

// Sets a smart pointer to NULL. The NULL argument must be a zero.
_com_ptr_t& operator=( 
   int null 
);
// Sets a smart pointer to be a _variant_t object. The encapsulated 
// VARIANT must be of type VT_DISPATCH or VT_UNKNOWN, or it can be 
// converted to one of these two types. If QueryInterface fails with an 
// E_NOINTERFACE error, a NULL smart pointer results.
_com_ptr_t& operator=( 
   const _variant_t& varSrc 
);

Remarks

Assigns an interface pointer to this _com_ptr_t object.

END Microsoft Specific

See Also

Reference

_com_ptr_t Class