SimpleClassFactory — Klasa

Udostępnia podstawowy mechanizm tworzenia klasy bazowej.

Składnia

template<typename Base>
class SimpleClassFactory : public ClassFactory<>;

Parametry

Podstawowej
Klasa bazowa.

Uwagi

Klasa bazowa musi podać konstruktor domyślny.

W poniższym przykładzie kodu pokazano, jak używać z SimpleClassFactory makrem ActivatableClassWithFactoryEx .

ActivatableClassWithFactoryEx(MyClass, SimpleClassFactory, MyServerName);

Członkowie

Metody publiczne

Nazwa/nazwisko opis
SimpleClassFactory::CreateInstance, metoda Tworzy wystąpienie określonego interfejsu.

Hierarchia dziedziczenia

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

SimpleClassFactory

Wymagania

Nagłówek: module.h

Przestrzeń nazw: Microsoft::WRL

SimpleClassFactory::CreateInstance, metoda

Tworzy wystąpienie określonego interfejsu.

STDMETHOD( CreateInstance )(
   _Inout_opt_ IUnknown* pUnkOuter,
   REFIID riid,
   _Deref_out_ void** ppvObject
);

Parametry

pUnkOuter
Musi być nullptr; w przeciwnym razie wartość zwracana jest CLASS_E_NOAGGREGATION.

SimpleClassFactory nie obsługuje agregacji. Jeśli agregacja była obsługiwana, a tworzony obiekt był częścią agregacji, pUnkOuter będzie wskaźnikiem do interfejsu sterującego IUnknown agregacji.

Riid
Identyfikator interfejsu obiektu do utworzenia.

ppvObject
Po zakończeniu tej operacji wskaźnik do wystąpienia obiektu określonego przez parametr riid .

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie hrESULT wskazujący błąd.

Uwagi

Jeśli __WRL_STRICT__ jest zdefiniowany, błąd asercja jest emitowany, jeśli klasa bazowa określona w parametrze szablonu klasy nie pochodzi z klasy RuntimeClass lub nie jest skonfigurowana przy użyciu klasy ClassicCom lub WinRtClassicComMix RuntimeClassType wartości wyliczenia.