Freigeben über


ActivationFactory-Klasse

Ermöglicht, dass eine oder mehrere Klassen durch die Windows-Runtime aktiviert werden.

Syntax

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
    >;

Parameter

I0
Die Null-Schnittstelle.

I1
Die erste Schnittstelle.

I2
Die zweite Schnittstelle.

Hinweise

ActivationFactory stellt Registrierungsmethoden und grundlegende Funktionen für die IActivationFactory Schnittstelle bereit. ActivationFactory Ermöglicht ihnen auch die Bereitstellung einer benutzerdefinierten Factoryimplementierung.

Das folgende Codefragment veranschaulicht symbolisch, wie ActivationFactory verwendet wird.

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);

Das folgende Codefragment zeigt, wie sie die Implements-Struktur verwenden, um mehr als drei Schnittstellen-IDs anzugeben.

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

Member

Öffentliche Konstruktoren

Name Beschreibung
ActivationFactory::ActivationFactory Initialisiert die ActivationFactory-Klasse

Öffentliche Methoden

Name Beschreibung
ActivationFactory::AddRef Erhöht die Referenzanzahl des aktuellen ActivationFactory Objekts.
ActivationFactory::GetIids Ruft ein Array implementierter Schnittstellen-IDs ab.
ActivationFactory::GetRuntimeClassName Ruft den Laufzeitklassennamen des Objekts ab, das von den aktuellen ActivationFactory Instanziierungen instanziiert wird.
ActivationFactory::GetTrustLevel Ruft die Vertrauensstufe des Objekts ab, das von den aktuellen ActivationFactory Instanziierungen instanziiert wird.
ActivationFactory::QueryInterface Ruft einen Zeiger auf die angegebene Schnittstelle ab.
ActivationFactory::Release Erhöht die Referenzanzahl des aktuellen ActivationFactory Objekts.

Vererbungshierarchie

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Anforderungen

Kopfzeile: module.h

Namespace: Microsoft::WRL

ActivationFactory::ActivationFactory

Initialisiert die ActivationFactory-Klasse

ActivationFactory();

ActivationFactory::AddRef

Erhöht die Referenzanzahl des aktuellen ActivationFactory Objekts.

STDMETHOD_(
   ULONG,
   AddRef
)();

Rückgabewert

„S_OK“ im Erfolgsfall, andernfalls ein HRESULT, das den Fehler beschreibt.

ActivationFactory::GetIids

Ruft ein Array implementierter Schnittstellen-IDs ab.

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

Parameter

iidCount
Nach Abschluss dieses Vorgangs wird die Anzahl der Schnittstellen-IDs im iids-Array angegeben.

iids
Wenn dieser Vorgang abgeschlossen ist, wird ein Array implementierter Schnittstellen-IDs angezeigt.

Rückgabewert

„S_OK“ im Erfolgsfall, andernfalls ein HRESULT, das den Fehler beschreibt. E_OUTOFMEMORY ist ein möglicher Fehler HRESULT.

ActivationFactory::GetRuntimeClassName

Ruft den Laufzeitklassennamen des Objekts ab, das von den aktuellen ActivationFactory Instanziierungen instanziiert wird.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parameter

runtimeName
Wenn dieser Vorgang abgeschlossen ist, wird ein Handle zu einer Zeichenfolge ausgeführt, die den Laufzeitklassennamen des Objekts enthält, das von den aktuellen ActivationFactory Instanziierungen instanziiert wird.

Rückgabewert

„S_OK“ im Erfolgsfall, andernfalls ein HRESULT, das den Fehler beschreibt.

ActivationFactory::GetTrustLevel

Ruft die Vertrauensstufe des Objekts ab, das von den aktuellen ActivationFactory Instanziierungen instanziiert wird.

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parameter

trustLvl
Wenn dieser Vorgang abgeschlossen ist, wird die Vertrauensebene der Laufzeitklasse, die von den ActivationFactory Instanziierungen instanziiert wird.

Rückgabewert

bei erfolgreicher Ausführung S_OK; andernfalls wird ein Assertionsfehler ausgegeben, und trustLvl wird auf FullTrust.

ActivationFactory::QueryInterface

Ruft einen Zeiger auf die angegebene Schnittstelle ab.

STDMETHOD(
   QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);

Parameter

riid
Eine Schnittstellen-ID.

ppvObject
Wenn dieser Vorgang abgeschlossen ist, zeigt ein Zeiger auf die schnittstelle, die durch Parameter riid angegeben wird.

Rückgabewert

„S_OK“ im Erfolgsfall, andernfalls ein HRESULT, das den Fehler beschreibt.

ActivationFactory::Release

Erhöht die Referenzanzahl des aktuellen ActivationFactory Objekts.

STDMETHOD_(
   ULONG,
   Release
)();

Rückgabewert

„S_OK“ im Erfolgsfall, andernfalls ein HRESULT, das den Fehler beschreibt.