ClassFactory – třída
Implementuje základní funkce IClassFactory
rozhraní.
Syntaxe
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
>;
Parametry
I0
Nulové rozhraní.
I1
První rozhraní.
I2
Druhé rozhraní.
Poznámky
Umožňuje ClassFactory
poskytnout uživatelsky definovanou implementaci továrny.
Následující programovací model ukazuje, jak pomocí struktury Implements určit více než tři rozhraní v objektu pro vytváření tříd.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Členové
Veřejné konstruktory
Název | Popis |
---|---|
ClassFactory::ClassFactory |
Veřejné metody
Název | Popis |
---|---|
ClassFactory::AddRef | Zvýší počet odkazů pro aktuální ClassFactory objekt. |
ClassFactory::LockServer | Zvýší nebo sníží počet podkladových objektů, které jsou sledovány aktuálním ClassFactory objektem. |
ClassFactory::QueryInterface | Načte ukazatel na rozhraní určené parametrem. |
ClassFactory::Release | Sníží počet odkazů pro aktuální ClassFactory objekt. |
Hierarchie dědičnosti
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Požadavky
Hlavička: module.h
Obor názvů: Microsoft::WRL
ClassFactory::AddRef
Zvýší počet odkazů pro aktuální ClassFactory
objekt.
STDMETHOD_(
ULONG,
AddRef
)();
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.
ClassFactory::ClassFactory
WRL_NOTHROW ClassFactory();
ClassFactory::LockServer
Zvýší nebo sníží počet podkladových objektů, které jsou sledovány aktuálním ClassFactory
objektem.
STDMETHOD(
LockServer
)(BOOL fLock);
Parametry
hejno
true
zvýšit počet sledovaných objektů. false
pro snížení počtu sledovaných objektů.
Návratová hodnota
S_OK v případě úspěchu; jinak E_FAIL.
Poznámky
ClassFactory
uchovává přehled o objektech v podkladové instanci třídy Module .
ClassFactory::QueryInterface
Načte ukazatel na rozhraní určené parametrem.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parametry
riid
ID rozhraní.
ppvObject
Po dokončení této operace ukazatel na rozhraní určeného parametrem riid.
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.
ClassFactory::Release
Sníží počet odkazů pro aktuální ClassFactory
objekt.
STDMETHOD_(
ULONG,
Release
)();
Návratová hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.