Kelas CComObjectNoLock
Kelas ini mengimplementasikan IUnknown
untuk objek nonaggregated, tetapi tidak menaikkan jumlah kunci modul di konstruktor.
template<class Base>
class CComObjectNoLock : public Base
Dasar
Kelas Anda, berasal dari CComObjectRoot atau CComObjectRootEx, serta dari antarmuka lain yang ingin Anda dukung pada objek.
Nama | Deskripsi |
---|---|
CComObjectNoLock::CComObjectNoLock | Konstruktor. |
CComObjectNoLock::~CComObjectNoLock | Destruktor. |
Nama | Deskripsi |
---|---|
CComObjectNoLock::AddRef | Menaikkan jumlah referensi pada objek. |
CComObjectNoLock::QueryInterface | Mengembalikan penunjuk ke antarmuka yang diminta. |
CComObjectNoLock::Release | Mengurangi jumlah referensi pada objek. |
CComObjectNoLock
mirip dengan CComObject karena mengimplementasikan IUnknown untuk objek nonaggregated; namun, CComObjectNoLock
tidak menaikkan jumlah kunci modul di konstruktor.
ATL menggunakan CComObjectNoLock
secara internal untuk pabrik kelas. Secara umum, Anda tidak akan menggunakan kelas ini secara langsung.
Base
CComObjectNoLock
Header: atlcom.h
Menaikkan jumlah referensi pada objek.
STDMETHOD_(ULONG, AddRef)();
Nilai yang mungkin berguna untuk diagnostik atau pengujian.
Konstruktor. Tidak seperti CComObject, tidak menaikkan jumlah kunci modul.
CComObjectNoLock(void* = NULL);
kosong*
[di] Parameter yang tidak disebutkan namanya ini tidak digunakan. Itu ada untuk simetri dengan konstruktor lain CComXXXObjectXXX
.
Destruktor.
~CComObjectNoLock();
Membebaskan semua sumber daya yang dialokasikan dan memanggil FinalRelease.
Mengambil penunjuk ke antarmuka yang diminta.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
iid
[di] Pengidentifikasi antarmuka yang diminta.
ppvObject
[out] Penunjuk ke penunjuk antarmuka yang diidentifikasi oleh iid. Jika objek tidak mendukung antarmuka ini, ppvObject diatur ke NULL.
Nilai HRESULT standar.
Mengurangi jumlah referensi pada objek.
STDMETHOD_(ULONG, Release)();
Dalam build debug, Release
mengembalikan nilai yang mungkin berguna untuk diagnostik atau pengujian. Dalam build non-debug, Release
selalu mengembalikan 0.