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.