Bagikan melalui


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

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.