Classe ComPtr

Crea un tipo smart pointer che rappresenta l'interfaccia specificata dal parametro del modello.ComPtr gestisce automaticamente un conteggio dei riferimenti per un puntatore a interfaccia sottostante e rilascia l'interfaccia quando il conteggio dei riferimenti termina a zero.

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

Parametri

  • T
    L'interfaccia che rappresenta il ComPtr.

  • U
    Classe a cui il ComPtr corrente è friend.(Il modello che utilizza questo parametro è protetto.)

Note

Comptr<> dichiara un tipo che rappresenta un puntatore ad un'interfaccia sottostante.Utilizzare ComPtr<> per dichiarare una variabile e quindi utilizzare l'operatore di accesso ai membri freccia (->) per accedere a una funzione membro di interfaccia.

Per ulteriori informazioni sui puntatori intelligenti, vedere "sottosezione COM dei puntatori intelligenti" argument COM Coding Practices in MSDN Library.

Membri

BR244983.collapse_all(it-it,VS.110).gifTypedef pubblici

Nome

Descrizione

InterfaceType

Un sinonimo del tipo specificato dal parametro di modello T.

BR244983.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

Costruttore ComPtr::ComPtr

Inizializza una nuova istanza della classe ComPtr.Gli overload consentono l'impostazione predefinita, la copia, la possibilità di spostare e convertire costruttori.

Distruttore ComPtr::~ComPtr

De-inizializza un'istanza di ComPtr.

BR244983.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

Metodo ComPtr::As

Restituisce un oggetto ComPtr che rappresenta l'interfaccia identificata dal parametro di modello specificato.

Metodo ComPtr::AsIID

Restituisce un oggetto ComPtr che rappresenta l'interfaccia identificata dall'interfaccia ID specificata.

Metodo ComPtr::AsWeak

Recupera un riferimento debole all'oggetto corrente.

Metodo ComPtr::Attach

Associa questo ComPtr con il tipo di interfaccia specificato dal parametro di tipo corrente del modello.

Metodo ComPtr::CopyTo

Copia l'interfaccia corrente o quella specificata associata a questo ComPtr al puntatore di output specificato.

Metodo ComPtr::Detach

Annulla l'associazione questo ComPtr dall'interfaccia che rappresenta.

Metodo ComPtr::Get

Recupera un puntatore a un'interfaccia associata al ComPtr.

Metodo ComPtr::GetAddressOf

Viene recuperato l'indirizzo del membro dati ptr_, che contiene un puntatore a interfaccia rappresentata da questo ComPtr.

Metodo ComPtr::ReleaseAndGetAddressOf

Rilascia l'interfaccia associata a questo ComPtr, quindi viene recuperato l'indirizzo del membro dati ptr_, che contiene un puntatore all'interfaccia rilasciata.

Metodo ComPtr::Swap

Scambia l'interfaccia gestita dal corrente ComPtr con un'interfaccia gestita da ComPtr specificato.

BR244983.collapse_all(it-it,VS.110).gifMetodi protetti

Nome

Descrizione

Metodo ComPtr::InternalAddRef

Incrementa il conteggio dei riferimenti dell'interfaccia associata a questo ComPtr.

Metodo ComPtr::InternalRelease

Esegue un'operazione COM Release sull'interfaccia associata a questo ComPtr.

BR244983.collapse_all(it-it,VS.110).gifOperatori pubblici

Nome

Descrizione

Operatore ComPtr::operator Microsoft::WRL::Details::BoolType

Indica se un ComPtr gestisce o meno la durata degli oggetti di un'interfaccia.

Operatore ComPtr::operator&

Viene recuperato l'indirizzo di ComPtr corrente.

Operatore ComPtr::operator=

Assegna un valore al ComPtr corrente.

Operatore ComPtr::operator->

Recupera un puntatore al tipo specificato dal modello di parametro corrente.

Operatore ComPtr::operator==

Indica se due oggetti ComPtr sono uguali.

Operatore ComPtr::operator!=

Indica se due oggetti ComPtr non sono uguali.

BR244983.collapse_all(it-it,VS.110).gifMembri di dati protetti

Nome

Descrizione

Membro dati ComPtr::ptr_

Contiene un puntatore a interfaccia cui è associato e viene gestito da questo ComPtr.

Gerarchia di ereditarietà

ComPtr

Requisiti

Header: client.h

Namespace: Microsoft::WRL

Vedere anche

Riferimenti

Spazio dei nomi Microsoft::WRL