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
Jméno | popis |
---|---|
ClassFactory::ClassFactory |
Veřejné metody
Jméno | 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
)();
Vrácená 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
Stádo
true
zvýšit počet sledovaných objektů. false
pro snížení počtu sledovaných objektů.
Vrácená 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.
Vrácená 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
)();
Vrácená hodnota
S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro