ActivationFactory — Klasa

Umożliwia aktywowanie co najmniej jednej klasy przez środowisko wykonawcze systemu Windows.

Składnia

template <
    typename I0 = Details::Nil,
    typename I1 = Details::Nil,
    typename I2 = Details::Nil
>
class ActivationFactory :
    public Details::RuntimeClass<
        typename Details::InterfaceListHelper<
            IActivationFactory,
            I0,
            I1,
            I2,
            Details::Nil
        >::TypeT,
        RuntimeClassFlags<WinRt | InhibitWeakReference>,
        false
    >;

Parametry

I0
Interfejs zeroth.

I1
Pierwszy interfejs.

I2
Drugi interfejs.

Uwagi

ActivationFactory Udostępnia metody rejestracji i podstawowe funkcje interfejsu IActivationFactory . ActivationFactory Umożliwia również zapewnienie implementacji fabryki niestandardowej.

Poniższy fragment kodu symbolicznie ilustruje sposób używania rozwiązania ActivationFactory.

struct MyClassFactory : public ActivationFactory<IMyAddtionalInterfaceOnFactory>
{
    STDMETHOD(ActivateInstance) (_Outptr_result_nullonfailure_ IInspectable** ppvObject)
    {
        // my custom implementation

        return S_OK;
    }
};

ActivatableClassWithFactory(MyClass, MyClassFactory);
// or if a default factory is used:
//ActivatableClassWithFactory(MyClass, SimpleActivationFactory);

Poniższy fragment kodu pokazuje, jak za pomocą struktury Implements określić więcej niż trzy identyfikatory interfejsu.

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

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
ActivationFactory::ActivationFactory Inicjuje klasę ActivationFactory .

Metody publiczne

Nazwa/nazwisko opis
ActivationFactory::AddRef Zwiększa liczbę odwołań bieżącego ActivationFactory obiektu.
ActivationFactory::GetIids Pobiera tablicę zaimplementowanych identyfikatorów interfejsów.
ActivationFactory::GetRuntimeClassName Pobiera nazwę klasy środowiska uruchomieniowego obiektu, który jest bieżącym ActivationFactory wystąpieniem.
ActivationFactory::GetTrustLevel Pobiera poziom zaufania obiektu, który tworzy bieżące ActivationFactory wystąpienia.
ActivationFactory::QueryInterface Pobiera wskaźnik do określonego interfejsu.
ActivationFactory::Release Dekrementuje liczbę odwołań bieżącego ActivationFactory obiektu.

Hierarchia dziedziczenia

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Wymagania

Nagłówek: module.h

Przestrzeń nazw: Microsoft::WRL

ActivationFactory::ActivationFactory

Inicjuje klasę ActivationFactory .

ActivationFactory();

ActivationFactory::AddRef

Zwiększa liczbę odwołań bieżącego ActivationFactory obiektu.

STDMETHOD_(
   ULONG,
   AddRef
)();

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.

ActivationFactory::GetIids

Pobiera tablicę zaimplementowanych identyfikatorów interfejsów.

STDMETHOD(
   GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);

Parametry

iidCount
Po zakończeniu tej operacji liczba identyfikatorów interfejsu w tablicy iids .

identyfikatory
Po zakończeniu tej operacji tablica zaimplementowanych identyfikatorów interfejsu.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd. E_OUTOFMEMORY jest to możliwa awaria HRESULT.

ActivationFactory::GetRuntimeClassName

Pobiera nazwę klasy środowiska uruchomieniowego obiektu, który jest bieżącym ActivationFactory wystąpieniem.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parametry

runtimeName
Po zakończeniu tej operacji dojście do ciągu zawierającego nazwę klasy środowiska uruchomieniowego obiektu, który jest bieżącym ActivationFactory wystąpieniem.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.

ActivationFactory::GetTrustLevel

Pobiera poziom zaufania obiektu, który tworzy bieżące ActivationFactory wystąpienia.

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parametry

trustLvl
Po zakończeniu tej operacji poziom zaufania klasy środowiska uruchomieniowego, który ActivationFactory tworzy wystąpienie.

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie jest emitowany błąd asercji, a właściwość trustLvl jest ustawiona na FullTrustwartość .

ActivationFactory::QueryInterface

Pobiera wskaźnik do określonego interfejsu.

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.

ActivationFactory::Release

Dekrementuje liczbę odwołań bieżącego ActivationFactory obiektu.

STDMETHOD_(
   ULONG,
   Release
)();

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie HRESULT opisujący błąd.