Share via


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í.