Bagikan melalui


Kelas CComObjectGlobal

Kelas ini mengelola jumlah referensi pada modul yang berisi objek Anda Base .

Sintaks

template<class Base>
class CComObjectGlobal : public Base

Parameter

Dasar
Kelas Anda, berasal dari CComObjectRoot atau CComObjectRootEx, serta dari antarmuka lain yang ingin Anda dukung pada objek.

Anggota

Konstruktor Publik

Nama Deskripsi
CComObjectGlobal::CComObjectGlobal Konstruktor.
CComObjectGlobal::~CComObjectGlobal Destruktor.

Metode Publik

Nama Deskripsi
CComObjectGlobal::AddRef Mengimplementasikan global AddRef.
CComObjectGlobal::QueryInterface Mengimplementasikan global QueryInterface.
CComObjectGlobal::Release Mengimplementasikan global Release.

Anggota Data Publik

Nama Deskripsi
CComObjectGlobal::m_hResFinalConstruct Berisi HRESULT yang dikembalikan selama konstruksi CComObjectGlobal objek.

Keterangan

CComObjectGlobal mengelola jumlah referensi pada modul yang berisi objek Anda Base . CComObjectGlobal memastikan objek Anda tidak akan dihapus selama modul tidak dirilis. Objek Anda hanya akan dihapus ketika jumlah referensi pada seluruh modul masuk ke nol.

Misalnya, menggunakan CComObjectGlobal, pabrik kelas dapat menyimpan objek global umum yang dibagikan oleh semua kliennya.

Hierarki Warisan

Base

CComObjectGlobal

Persyaratan

Header: atlcom.h

CComObjectGlobal::AddRef

Menaikkan jumlah referensi objek sebesar 1.

STDMETHOD_(ULONG, AddRef)();

Tampilkan Nilai

Nilai yang mungkin berguna untuk diagnostik dan pengujian.

Keterangan

Secara default, AddRef memanggil , di mana _Module adalah instans _Module::Lockglobal CComModule atau kelas yang berasal darinya.

CComObjectGlobal::CComObjectGlobal

Konstruktor. FinalConstruct Memanggil lalu mengatur m_hResFinalConstruct ke yang HRESULT dikembalikan oleh FinalConstruct.

CComObjectGlobal(void* = NULL));

Keterangan

Jika Anda belum memperoleh kelas dasar dari CComObjectRoot, Anda harus menyediakan metode Anda sendiri FinalConstruct . Destruktor memanggil FinalRelease.

CComObjectGlobal::~CComObjectGlobal

Destruktor.

CComObjectGlobal();

Keterangan

Membebaskan semua sumber daya yang dialokasikan dan memanggil FinalRelease.

CComObjectGlobal::m_hResFinalConstruct

Berisi HRESULT dari panggilan FinalConstruct selama konstruksi CComObjectGlobal objek.

HRESULT m_hResFinalConstruct;

CComObjectGlobal::QueryInterface

Mengambil penunjuk ke penunjuk 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

QueryInterface hanya menangani antarmuka dalam tabel peta COM.

CComObjectGlobal::Release

Mengurangi jumlah referensi objek sebesar 1.

STDMETHOD_(ULONG, Release)();

Tampilkan Nilai

Dalam build debug, Release mengembalikan nilai yang mungkin berguna untuk diagnostik dan pengujian. Dalam build non-debug, Release selalu mengembalikan 0.

Keterangan

Secara default, Release memanggil , di mana _Module adalah instans _Module::Unlockglobal CComModule atau kelas yang berasal darinya.

Lihat juga

Kelas CComObjectStack
Kelas CComAggObject
Kelas CComObject
Gambaran Umum Kelas