| title |
_com_ptr_t Class | Microsoft Docs |
| ms.custom |
|
| ms.date |
11/04/2016 |
| ms.reviewer |
|
| ms.suite |
|
| ms.technology |
|
| ms.tgt_pltfrm |
|
| ms.topic |
language-reference |
| f1_keywords |
|
| dev_langs |
|
| helpviewer_keywords |
|
| ms.assetid |
3753a8a0-03d4-4cfd-8a9a-74872ea53971 |
| caps.latest.revision |
8 |
| author |
mikeblome |
| ms.author |
mblome |
| manager |
ghogen |
| translation.priority.ht |
cs-cz |
de-de |
es-es |
fr-fr |
it-it |
ja-jp |
ko-kr |
pl-pl |
pt-br |
ru-ru |
tr-tr |
zh-cn |
zh-tw |
|
Microsoft Specific
A _com_ptr_t object encapsulates a COM interface pointer and is called a "smart" pointer. This template class manages resource allocation and deallocation through function calls to the IUnknown member functions: QueryInterface, AddRef, and Release.
A smart pointer is usually referenced by the typedef definition provided by the _COM_SMARTPTR_TYPEDEF macro. This macro takes an interface name and the IID and declares a specialization of _com_ptr_t with the name of the interface plus a suffix of Ptr. For example:
_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));
declares the _com_ptr_t specialization IMyInterfacePtr.
A set of function templates, not members of this template class, support comparisons with a smart pointer on the right side of the comparison operator.
|
|
| AddRef |
Calls the AddRef member function of IUnknown on the encapsulated interface pointer. |
| Attach |
Encapsulates a raw interface pointer of this smart pointer's type. |
| CreateInstance |
Creates a new instance of an object given a CLSID or ProgID. |
| Detach |
Extracts and returns the encapsulated interface pointer. |
| GetActiveObject |
Attaches to an existing instance of an object given a CLSID or ProgID. |
| GetInterfacePtr |
Returns the encapsulated interface pointer. |
| QueryInterface |
Calls the QueryInterface member function of IUnknown on the encapsulated interface pointer. |
| Release |
Calls the Release member function of IUnknown on the encapsulated interface pointer. |
END Microsoft Specific
Header: comip.h
Lib: comsuppw.lib or comsuppwd.lib (see /Zc:wchar_t (wchar_t Is Native Type) for more information)
Compiler COM Support Classes