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.
Menerapkan fungsionalitas IClassFactory dasar antarmuka.
Sintaks
template <
typename I0 = Details::Nil,
typename I1 = Details::Nil,
typename I2 = Details::Nil
>
class ClassFactory :
public Details::RuntimeClass<
typename Details::InterfaceListHelper<
IClassFactory,
I0,
I1,
I2,
Details::Nil
>::TypeT,
RuntimeClassFlags<ClassicCom | InhibitWeakReference>,
false
>;
Parameter
I0
Antarmuka nol.
I1
Antarmuka pertama.
I2
Antarmuka kedua.
Keterangan
Gunakan ClassFactory untuk menyediakan implementasi pabrik yang ditentukan pengguna.
Pola pemrograman berikut menunjukkan cara menggunakan struktur Implements untuk menentukan lebih dari tiga antarmuka pada pabrik kelas.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| ClassFactory::ClassFactory |
Metode Publik
| Nama | Deskripsi |
|---|---|
| ClassFactory::AddRef | Menaikkan jumlah referensi untuk objek saat ini ClassFactory . |
| ClassFactory::LockServer | Kenaikan atau penurunan jumlah objek yang mendasar yang dilacak oleh objek saat ini ClassFactory . |
| ClassFactory::QueryInterface | Mengambil penunjuk ke antarmuka yang ditentukan oleh parameter. |
| ClassFactory::Release | Mengurangi jumlah referensi untuk objek saat ini ClassFactory . |
Hierarki Warisan
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Persyaratan
Header: module.h
Namespace: Microsoft::WRL
ClassFactory::AddRef
Menaikkan jumlah referensi untuk objek saat ini ClassFactory .
STDMETHOD_(
ULONG,
AddRef
)();
Tampilkan Nilai
S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.
ClassFactory::ClassFactory
WRL_NOTHROW ClassFactory();
ClassFactory::LockServer
Kenaikan atau penurunan jumlah objek yang mendasar yang dilacak oleh objek saat ini ClassFactory .
STDMETHOD(
LockServer
)(BOOL fLock);
Parameter
Kawanan
true untuk menaikkan jumlah objek yang dilacak. false untuk mengurangi jumlah objek yang dilacak.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, E_FAIL.
Keterangan
ClassFactorymelacak objek dalam instans kelas Modul yang mendasar.
ClassFactory::QueryInterface
Mengambil penunjuk ke antarmuka yang ditentukan oleh parameter.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parameter
riid
ID antarmuka.
ppvObject
Ketika operasi ini selesai, penunjuk ke antarmuka yang ditentukan oleh parameter riid.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.
ClassFactory::Release
Mengurangi jumlah referensi untuk objek saat ini ClassFactory .
STDMETHOD_(
ULONG,
Release
)();
Tampilkan Nilai
S_OK jika berhasil; jika tidak, HRESULT yang menjelaskan kegagalan.