ClassFactory Sınıfı
Arabirimin temel işlevselliğini IClassFactory
uygular.
Sözdizimi
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
>;
Parametreler
I0
Sıfırıncı arabirim.
I1
İlk arabirim.
I2
İkinci arabirim.
Açıklamalar
Kullanıcı tanımlı bir fabrika uygulaması sağlamak için kullanılır ClassFactory
.
Aşağıdaki programlama düzeni, bir sınıf fabrikasında üçten fazla arabirim belirtmek için Implements yapısının nasıl kullanılacağını gösterir.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
ClassFactory::ClassFactory |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
ClassFactory::AddRef | Geçerli ClassFactory nesne için başvuru sayısını artırır. |
ClassFactory::LockServer | Geçerli ClassFactory nesne tarafından izlenen temel nesne sayısını artırır veya azaltma. |
ClassFactory::QueryInterface | parametresi tarafından belirtilen arabirime yönelik bir işaretçi alır. |
ClassFactory::Release | Geçerli ClassFactory nesne için başvuru sayısını azaltma. |
Devralma Hiyerarşisi
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Gereksinimler
Üst bilgi: module.h
Ad Alanı: Microsoft::WRL
ClassFactory::AddRef
Geçerli ClassFactory
nesne için başvuru sayısını artırır.
STDMETHOD_(
ULONG,
AddRef
)();
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.
ClassFactory::ClassFactory
WRL_NOTHROW ClassFactory();
ClassFactory::LockServer
Geçerli ClassFactory
nesne tarafından izlenen temel nesne sayısını artırır veya azaltma.
STDMETHOD(
LockServer
)(BOOL fLock);
Parametreler
sürü
true
izlenen nesne sayısını artırmak için. false
izlenen nesnelerin sayısını azaltmaya yöneliktir.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde E_FAIL.
Açıklamalar
ClassFactory
, Module sınıfının temel alınan bir örneğindeki nesneleri izler.
ClassFactory::QueryInterface
parametresi tarafından belirtilen arabirime yönelik bir işaretçi alır.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parametreler
riid
Arabirim kimliği.
ppvObject
Bu işlem tamamlandığında, riid parametresi tarafından belirtilen arabirime yönelik bir işaretçi.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.
ClassFactory::Release
Geçerli ClassFactory
nesne için başvuru sayısını azaltma.
STDMETHOD_(
ULONG,
Release
)();
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı açıklayan bir HRESULT.