CComQIPtr Class
A smart pointer class for managing COM interface pointers.
Syntax
template<class T, const IID* piid= &__uuidof(T)>
class CComQIPtr: public CComPtr<T>
Parameters
T
A COM interface specifying the type of pointer to be stored.
piid
A pointer to the IID of T.
Members
Public Constructors
Name | Description |
---|---|
CComQIPtr::CComQIPtr | Constructor. |
Public Operators
Name | Description |
---|---|
CComQIPtr::operator = | Assigns a pointer to the member pointer. |
Remarks
ATL uses CComQIPtr
and CComPtr to manage COM interface pointers, both of which derive from CComPtrBase. Both classes perform automatic reference counting through calls to AddRef
and Release
. Overloaded operators handle pointer operations.
Inheritance Hierarchy
CComQIPtr
Requirements
Header: atlcomcli.h
CComQIPtr::CComQIPtr
The constructor.
CComQIPtr() throw();
CComQIPtr(T* lp) throw();
CComQIPtr(IUnknown* lp) throw();
CComQIPtr(const CComQIPtr<T, piid>& lp) throw();
Parameters
lp
Used to initialize the interface pointer.
T
A COM interface.
piid
A pointer to the IID of T.
CComQIPtr::operator =
The assignment operator.
T* operator= (T* lp) throw();
T* operator= (const CComQIPtr<T, piid>& lp) throw();
T* operator= (IUnknown* lp) throw();
Parameters
lp
Used to initialize the interface pointer.
T
A COM interface.
piid
A pointer to the IID of T.
Return Value
Returns a pointer to the updated CComQIPtr
object.
See also
CComPtr::CComPtr
CComQIPtr::CComQIPtr
CComPtrBase Class
Class Overview
CComQIPtrElementTraits Class