Compartir a través de


ActivationFactory (clase)

Habilita una o más clases que activa Windows en tiempo de ejecución.

Sintaxis

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

Parámetros

I0
La interfaz cero.

I1
La primera interfaz.

I2
La segunda interfaz.

Comentarios

ActivationFactory proporciona métodos de registro y funcionalidad básica para la interfaz IActivationFactory. ActivationFactory también le permite proporcionar una implementación de generador personalizada.

El siguiente fragmento de código ilustra simbólicamente cómo usar 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);

En el fragmento de código siguiente se muestra cómo usar la estructura Implements para especificar más de tres identificadores de interfaz.

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

Miembros

Constructores públicos

Nombre Descripción
ActivationFactory::ActivationFactory Inicializa la clase ActivationFactory.

Métodos públicos

Nombre Descripción
ActivationFactory::AddRef Incrementa el recuento de referencias del objeto ActivationFactory actual.
ActivationFactory::GetIids Recupera una matriz de identificadores de interfaz implementados.
ActivationFactory::GetRuntimeClassName Obtiene el nombre de la clase del entorno de ejecución del objeto del que ActivationFactory crea una instancia actual.
ActivationFactory::GetTrustLevel Obtiene el nivel de confianza del objeto del que ActivationFactory crea una instancia actual.
ActivationFactory::QueryInterface Recupera un puntero a la interfaz especificada.
ActivationFactory::Release Disminuye el recuento de referencias del objeto ActivationFactory actual.

Jerarquía de herencia

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Requisitos

Encabezado: module.h

Espacio de nombres: Microsoft::WRL

ActivationFactory::ActivationFactory

Inicializa la clase ActivationFactory.

ActivationFactory();

ActivationFactory::AddRef

Incrementa el recuento de referencias del objeto ActivationFactory actual.

STDMETHOD_(
   ULONG,
   AddRef
)();

Valor devuelto

S_OK si se realiza correctamente; de lo contrario, un HRESULT que describe el error.

ActivationFactory::GetIids

Recupera una matriz de identificadores de interfaz implementados.

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

Parámetros

iidCount
Cuando se completa esta operación, el número de identificadores de interfaz de la matriz iids .

iids
Cuando se completa esta operación, una matriz de identificadores de interfaz implementados.

Valor devuelto

S_OK si se realiza correctamente; de lo contrario, un HRESULT que describe el error. E_OUTOFMEMORY es un posible error HRESULT.

ActivationFactory::GetRuntimeClassName

Obtiene el nombre de la clase del entorno de ejecución del objeto del que ActivationFactory crea una instancia actual.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parámetros

runtimeName
Cuando se completa esta operación, un identificador de una cadena que contiene el nombre de clase del entorno de ejecución del objeto del que ActivationFactory crea la instancia actual.

Valor devuelto

S_OK si se realiza correctamente; de lo contrario, un HRESULT que describe el error.

ActivationFactory::GetTrustLevel

Obtiene el nivel de confianza del objeto del que ActivationFactory crea una instancia actual.

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parámetros

trustLvl
Una vez completada esta operación, el nivel de confianza de la clase del entorno de ejecución de la que ActivationFactory crea una instancia.

Valor devuelto

S_OK si se realiza correctamente; de lo contrario, se emite un error de aserción y trustLvl se establece en FullTrust.

ActivationFactory::QueryInterface

Recupera un puntero a la interfaz especificada.

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

Parámetros

riid
Id. de interfaz.

ppvObject
Una vez completada esta operación, un puntero a la interfaz especificada por el parámetro riid.

Valor devuelto

S_OK si se realiza correctamente; de lo contrario, un HRESULT que describe el error.

ActivationFactory::Release

Disminuye el recuento de referencias del objeto ActivationFactory actual.

STDMETHOD_(
   ULONG,
   Release
)();

Valor devuelto

S_OK si se realiza correctamente; de lo contrario, un HRESULT que describe el error.