Condividi tramite


Classe _com_ptr_t

Sezione specifica Microsoft

Un oggetto _com_ptr_t incapsula un puntatore all'interfaccia COM e viene chiamato un puntatore "intelligente". Questa classe di modelli gestisce l'allocazione delle risorse e la deallocazione tramite le chiamate alle funzioni del membro: IUnknown : QueryInterface, AddRef e Release.

Una definizione typedef fornita dalla macro _COM_SMARTPTR_TYPEDEF di solito fa riferimento a un puntatore intelligente. Questa macro accetta un nome dell'interfaccia e l'IID e dichiara una specializzazione di _com_ptr_t con il nome dell'interfaccia più un suffisso di Ptr. Ad esempio:

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

dichiara la specializzazione _com_ptr_t di IMyInterfacePtr.

Un set di modelli di funzione, non membri di questa classe modello, supporta confronti con un puntatore intelligente a destra dell'operatore di confronto.

Costruzione

_com_ptr_t

Costruisce un oggetto _com_ptr_t.

Operazioni di basso livello

AddRef

Chiama la funzione membro AddRef di IUnknown sul puntatore a interfaccia incapsulato.

Connetti

Incapsula un puntatore a interfaccia raw di questo tipo di puntatore intelligente.

CreateInstance

Crea una nuova istanza di un oggetto con un CLSID o ProgID specificato.

Disconnetti

Estrae e restituisce un puntatore a interfaccia incapsulato.

GetActiveObject

Esegue l'associazione a un'istanza esistente di un oggetto dato un elemento CLSID o ProgID.

GetInterfacePtr

Restituisce un puntatore a interfaccia incapsulato.

QueryInterface

Chiama la funzione membro QueryInterface di IUnknown sul puntatore a interfaccia incapsulato.

Release

Chiama la funzione membro Release di IUnknown sul puntatore a interfaccia incapsulato.

Operatori

operator =

Assegna un nuovo valore a un oggetto _com_ptr_t esistente.

operatori ==, !=, <, >, <=, >=

Confrontare l'oggetto del puntatore intelligente con un altro puntatore intelligente, puntatore a interfaccia raw o NULL.

Estrattori

Estrae il puntatore a interfaccia COM incapsulato.

Requisiti

Header: comip.h

Lib: comsuppw.lib o comsuppwd.lib (per ulteriori informazioni, vedere /Zc:wchar_t (Tipo nativo wchar_t))

Vedere anche

Riferimenti

Classi di supporto COM del compilatore