Kelas ClassFactory
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
ClassFactory
melacak 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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk