ClassFactory — Klasa
Implementuje podstawowe funkcje interfejsu IClassFactory
.
Składnia
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 zeroth.
I1
Pierwszy interfejs.
I2
Drugi interfejs.
Uwagi
Skorzystaj z ClassFactory
funkcji , aby zapewnić implementację fabryki zdefiniowaną przez użytkownika.
Poniższy wzorzec programowania pokazuje, jak za pomocą struktury Implements określić więcej niż trzy interfejsy w fabryce klas.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Członkowie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
ClassFactory::ClassFactory |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
ClassFactory::AddRef | Zwiększa liczbę odwołań dla bieżącego ClassFactory obiektu. |
ClassFactory::LockServer | Zwiększa lub dekrementuje liczbę obiektów bazowych śledzonych przez bieżący ClassFactory obiekt. |
ClassFactory::QueryInterface | Pobiera wskaźnik do interfejsu określonego przez parametr. |
ClassFactory::Release | Dekrementuje liczbę odwołań dla bieżącego ClassFactory obiektu. |
Hierarchia dziedziczenia
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Wymagania
Nagłówek: module.h
Przestrzeń nazw: Microsoft::WRL
ClassFactory::AddRef
Zwiększa liczbę odwołań dla bieżącego ClassFactory
obiektu.
STDMETHOD_(
ULONG,
AddRef
)();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
ClassFactory::ClassFactory
WRL_NOTHROW ClassFactory();
ClassFactory::LockServer
Zwiększa lub dekrementuje liczbę obiektów bazowych śledzonych przez bieżący ClassFactory
obiekt.
STDMETHOD(
LockServer
)(BOOL fLock);
Parametry
Stado
true
zwiększa liczbę śledzonych obiektów. false
aby zdekrementować liczbę śledzonych obiektów.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie E_FAIL.
Uwagi
ClassFactory
śledzi obiekty w bazowym wystąpieniu klasy Module .
ClassFactory::QueryInterface
Pobiera wskaźnik do interfejsu określonego przez parametr.
STDMETHOD(
QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);
Parametry
Riid
Identyfikator interfejsu.
ppvObject
Po zakończeniu tej operacji wskaźnik do interfejsu określonego przez parametr riid.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
ClassFactory::Release
Dekrementuje liczbę odwołań dla bieżącego ClassFactory
obiektu.
STDMETHOD_(
ULONG,
Release
)();
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla