modello lt; classe contenute>
classeCComCachedTearOffObject : publicIUnknown, pubblicaCComObjectRootEx < contenute:: _ThreadModel::ThreadModelNoCS >
Parametri
contenute
Classe strappo, derivato dal CComTearOffObjectBase e le interfacce che si desidera che l'oggetto strappo a sostegno.
CComCachedTearOffObject implementa IUnknown per un'interfaccia di strappo. Questa classe differisce da CComTearOffObject in CComCachedTearOffObject ha una propria IUnknown, separata da dell'oggetto proprietario IUnknown (il proprietario è l'oggetto per il quale la strappo viene creato). CComCachedTearOffObject mantiene la propria conteggio dei riferimenti nella sua IUnknown e si elimina una volta che il conteggio è 0. Si noti, tuttavia, che l'esecuzione di query per una qualsiasi delle sue interfacce strappo incrementa il conteggio dei riferimenti di dell'oggetto proprietario IUnknown.
Se l'oggetto CComCachedTearOffObject che implementa la strappo già viene creata un'istanza e l'interfaccia strappo viene eseguita una query per ancora una volta, lo stesso oggetto CComCachedTearOffObject viene riutilizzato. Al contrario, se uno strappo interfaccia implementata da un CComTearOffObject viene nuovamente richiesta per tramite l'oggetto proprietario, un altro CComTearOffObject sarà possibile creare un'istanza.
La classe proprietario deve implementare FinalRelease e chiamare Release sulla cache IUnknown per il CComCachedTearOffObject, che verrà decrementare il conteggio. Questo farà sì che CComCachedTearOffObjectdi FinalRelease essere chiamato ed eliminare la strappo.
# include lt;atlcom.h>
Vedere a&nchenbsp;CComTearOffObject, CComObjectRootEx