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.
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>
Elementy członkowskie
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.