Udostępnij za pośrednictwem


ClassFactory — Klasa

Implementuje podstawowe funkcje interfejs IClassFactory.

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
    Interfejs zerowa.

  • I1
    Pierwszy interfejs.

  • I2
    Drugi interfejs.

Uwagi

Wykorzystać ClassFactory do zapewnienia implementacji fabrycznie zdefiniowane przez użytkownika.

Następujący wzór programowania pokazuje sposób użycia Implementacja strukturę, aby określić więcej niż trzy interfejsy na klasy factory.

struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>

Elementy członkowskie

Konstruktory publiczne

Nazwa

Opis

ClassFactory::ClassFactory — Konstruktor

Metody publiczne

Nazwa

Opis

ClassFactory::AddRef — Metoda

Zwiększa liczbę odwołań do bieżącego obiektu generator klas ClassFactory.

ClassFactory::LockServer — Metoda

Zwiększa lub zmniejsza liczbę podstawowych obiektów, które są śledzone przez bieżący obiekt generator klas ClassFactory.

ClassFactory::QueryInterface — Metoda

Pobiera wskaźnika do interfejsu określonego przez parametr.

ClassFactory::Release — Metoda

Dekrementuje odwołanie zliczania dla bieżącego obiektu generator klas ClassFactory.

Hierarchia dziedziczenia

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

Wymagania

Nagłówek: module.h

Obszar nazw: Microsoft::WRL

Zobacz też

Informacje

Microsoft::WRL — Przestrzeń nazw

RuntimeClassType — Wyliczenie