CComQIPtr Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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