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 antarmuka IClassFactory , dan memungkinkan objek dibuat di beberapa apartemen.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CComClassFactoryAutoThread
: public IClassFactory,
public CComObjectRootEx<CComGlobalsThreadModel>
Anggota
Metode Publik
| Nama | Deskripsi |
|---|---|
| CComClassFactoryAutoThread::CreateInstance | Membuat objek DARI CLSID yang ditentukan. |
| CComClassFactoryAutoThread::LockServer | Mengunci pabrik kelas dalam memori. |
Keterangan
CComClassFactoryAutoThread mirip dengan CComClassFactory, tetapi memungkinkan objek dibuat di beberapa apartemen. Untuk memanfaatkan dukungan ini, dapatkan modul EXE Anda dari CComAutoThreadModule.
Objek ATL biasanya memperoleh pabrik kelas dengan berasal dari CComCoClass. Kelas ini mencakup DECLARE_CLASSFACTORY makro, yang mendeklarasikan CComClassFactory sebagai pabrik kelas default. Untuk menggunakan CComClassFactoryAutoThread, tentukan makro DECLARE_CLASSFACTORY_AUTO_THREAD dalam definisi kelas objek Anda. Contohnya:
class ATL_NO_VTABLE CMyAutoClass :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CMyAutoClass, &CLSID_MyAutoClass>,
public IMyAutoClass
{
public:
DECLARE_CLASSFACTORY_AUTO_THREAD()
// Remainder of class declaration omitted.
Hierarki Warisan
CComObjectRootBase
IClassFactory
CComClassFactoryAutoThread
Persyaratan
Header: atlcom.h
CComClassFactoryAutoThread::CreateInstance
Membuat objek CLSID yang ditentukan dan mengambil penunjuk antarmuka ke objek ini.
STDMETHODIMP CreateInstance(
LPUNKNOWN pUnkOuter,
REFIID riid,
void** ppvObj);
Parameter
pUnkOuter
[di] Jika objek sedang dibuat sebagai bagian dari agregat, maka pUnkOuter harus menjadi bagian luar yang tidak diketahui. Jika tidak, pUnkOuter harus NULL.
riid
[masuk] IID antarmuka yang diminta . Jika pUnkOuter non-NULL, riid harus IID_IUnknown.
ppvObj
[out] Penunjuk ke penunjuk antarmuka yang diidentifikasi oleh riid. Jika objek tidak mendukung antarmuka ini, ppvObj diatur ke NULL.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Jika modul Anda berasal dari CComAutoThreadModule, CreateInstance pertama-tama pilih utas untuk membuat objek di apartemen terkait.
CComClassFactoryAutoThread::LockServer
Kenaikan dan penurunan jumlah kunci modul dengan memanggil _Module::Lock dan _Module::Unlock, masing-masing.
STDMETHODIMP LockServer(BOOL fLock);
Parameter
Kawanan
[di] Jika TRUE, jumlah kunci akan bertambah; jika tidak, jumlah kunci diderementasi.
Tampilkan Nilai
Nilai HRESULT standar.
Keterangan
Saat menggunakan CComClassFactoryAutoThread, _Module biasanya mengacu pada instans global CComAutoThreadModule.
Panggilan LockServer memungkinkan klien untuk memegang pabrik kelas sehingga beberapa objek dapat dibuat dengan cepat.
Lihat juga
IClassFactory
Kelas CComClassFactory2
Kelas CComClassFactorySingleton
Kelas CComObjectRootEx
CComGlobalsThreadModel
Gambaran Umum Kelas