Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kelas ini mengimplementasikan IUnknown untuk antarmuka air mata.
Sintaks
template
<class contained>
class CComCachedTearOffObject : public
IUnknown,
public CComObjectRootEx<contained
::_ThreadModel::ThreadModelNoCS>
Parameter
Terkandung
Kelas air mata Anda, berasal dari CComTearOffObjectBase dan antarmuka yang Anda inginkan untuk mendukung objek robek Anda.
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| CComCachedTearOffObject::CComCachedTearOffObject | Konstruktor. |
| CComCachedTearOffObject::~CComCachedTearOffObject | Destruktor. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| CComCachedTearOffObject::AddRef | Menaikkan jumlah referensi untuk CComCachedTearOffObject objek. |
| CComCachedTearOffObject::FinalConstruct | m_contained::FinalConstruct Memanggil (metode kelas yang dirobek). |
| CComCachedTearOffObject::FinalRelease | m_contained::FinalRelease Memanggil (metode kelas yang dirobek). |
| CComCachedTearOffObject::QueryInterface | Mengembalikan penunjuk ke IUnknown CComCachedTearOffObject objek, atau ke antarmuka yang diminta pada kelas tear-off Anda (kelas contained). |
| CComCachedTearOffObject::Release | Mengurangi jumlah referensi untuk CComCachedTearOffObject objek dan menghancurkannya jika jumlah referensi adalah 0. |
Anggota Data Publik
| Nama | Deskripsi |
|---|---|
| CComCachedTearOffObject::m_contained | Objek CComContainedObject yang berasal dari kelas air mata Anda (kelas contained). |
Keterangan
CComCachedTearOffObjectmengimplementasikan IUnknown untuk antarmuka air mata. Kelas ini berbeda dari CComTearOffObject di dalam yang CComCachedTearOffObject memiliki sendiri IUnknown, terpisah dari objek IUnknown pemilik (pemilik adalah objek tempat tear-off sedang dibuat). CComCachedTearOffObject mempertahankan jumlah referensinya sendiri dan IUnknown menghapus dirinya sendiri setelah jumlah referensinya nol. Namun, jika Anda meminta salah satu antarmuka air matanya, jumlah referensi objek IUnknown pemilik akan bertambah bertahap.
Jika objek yang CComCachedTearOffObject mengimplementasikan tear-off sudah dibuat, dan antarmuka air mata dikueri lagi, objek yang sama CComCachedTearOffObject digunakan kembali. Sebaliknya, jika antarmuka air mata yang diimplementasikan oleh CComTearOffObject kembali dikueri melalui objek pemilik, yang lain CComTearOffObject akan dibuat.
Kelas pemilik harus menerapkan FinalRelease dan memanggil Release cache IUnknown untuk CComCachedTearOffObject, yang akan mengurangi jumlah referensinya. Ini akan menyebabkan CComCachedTearOffObject's FinalRelease untuk dipanggil dan menghapus air mata-off.
Hierarki Warisan
CComObjectRootBase
IUnknown
CComCachedTearOffObject
Persyaratan
Header: atlcom.h
CComCachedTearOffObject::AddRef
Menaikkan jumlah CComCachedTearOffObject referensi objek sebesar 1.
STDMETHOD_(ULONG, AddRef)();
Tampilkan Nilai
Nilai yang mungkin berguna untuk diagnostik dan pengujian.
CComCachedTearOffObject::CComCachedTearOffObject
Konstruktor.
CComCachedTearOffObject(void* pv);
Parameter
Pv
[di] Penunjuk ke IUnknown dari CComCachedTearOffObject.
Keterangan
Menginisialisasi CComContainedObject anggota, m_contained.
CComCachedTearOffObject::~CComCachedTearOffObject
Destruktor.
~CComCachedTearOffObject();
Keterangan
Membebaskan semua sumber daya yang dialokasikan dan memanggil FinalRelease.
CComCachedTearOffObject::FinalConstruct
m_contained::FinalConstruct Panggilan untuk membuat m_contained, objek yang CComContainedObject<contained> digunakan untuk mengakses antarmuka yang diimplementasikan oleh kelas tear-off Anda.
HRESULT FinalConstruct();
Tampilkan Nilai
Nilai HRESULT standar.
CComCachedTearOffObject::FinalRelease
m_contained::FinalRelease Panggilan ke gratis m_contained,containedCComContainedObject<> objek .
void FinalRelease();
CComCachedTearOffObject::m_contained
Objek CComContainedObject berasal dari kelas tear-off Anda.
CcomContainedObject <contained> m_contained;
Parameter
Terkandung
[di] Kelas air mata Anda, berasal dari CComTearOffObjectBase dan antarmuka yang Anda inginkan untuk mendukung objek robek Anda.
Keterangan
Metode m_contained yang diwariskan digunakan untuk mengakses antarmuka air mata di kelas air mata Anda melalui objek QueryInterfacetear-off cache, , FinalConstructdan FinalRelease.
CComCachedTearOffObject::QueryInterface
Mengambil penunjuk ke antarmuka yang diminta.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
Parameter
iid
[di] GUID antarmuka yang diminta.
ppvObject
[out] Penunjuk ke penunjuk antarmuka yang diidentifikasi oleh iid, atau NULL jika antarmuka tidak ditemukan.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Jika antarmuka yang diminta adalah IUnknown, mengembalikan penunjuk ke CComCachedTearOffObjectIUnknown jumlah referensi sendiri dan menaikkan. Jika tidak, kueri untuk antarmuka pada kelas air mata Anda menggunakan metode InternalQueryInterface yang diwarisi dari CComObjectRootEx.
CComCachedTearOffObject::Release
Mengurangi jumlah referensi sebesar 1 dan, jika jumlah referensi adalah 0, akan menghapus CComCachedTearOffObject objek.
STDMETHOD_(ULONG, Release)();
Tampilkan Nilai
Dalam build non-debug, selalu mengembalikan 0. Dalam build debug, mengembalikan nilai yang mungkin berguna untuk diagnostik atau pengujian.
Lihat juga
Kelas CComTearOffObject
Kelas CComObjectRootEx
Gambaran Umum Kelas