Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Udostępnia podstawowy mechanizm tworzenia klasy bazowej.
Składnia
template<typename Base>
class SimpleClassFactory : public ClassFactory<>;
Parametry
Baza
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);
Elementy członkowskie
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.