Partilhar via


Classe ActivationFactory

Permite que uma ou mais classes sejam ativadas pelo Windows Runtime.

Sintaxe

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
A interface do ordinal zero.

I1
A primeira interface.

I2
A segunda interface.

Comentários

ActivationFactory fornece métodos de registro e funcionalidade básica para a interface IActivationFactory. ActivationFactory também permite que você forneça uma implementação de fábrica personalizada.

O fragmento de código a seguir ilustra simbolicamente como 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);

O fragmento de código a seguir mostra como usar a estrutura Implements para especificar mais de três IDs de interface.

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

Membros

Construtores públicos

Nome Descrição
ActivationFactory::ActivationFactory Inicializa a classe ActivationFactory.

Métodos públicos

Nome Descrição
ActivationFactory::AddRef Incrementa a contagem de referência do objeto ActivationFactory atual.
ActivationFactory::GetIids Recupera uma matriz de IDs de interface implementadas.
ActivationFactory::GetRuntimeClassName Obtém o nome da classe de runtime do objeto que o ActivationFactory atual instancia.
ActivationFactory::GetTrustLevel Obtém o nível de confiança do objeto que o ActivationFactory atual instancia.
ActivationFactory::QueryInterface Recupera um ponteiro para a interface especificada.
ActivationFactory::Release Diminui a contagem de referência do objeto ActivationFactory atual.

Hierarquia de herança

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Requisitos

Cabeçalho: module.h

Namespace: Microsoft::WRL

ActivationFactory::ActivationFactory

Inicializa a classe ActivationFactory.

ActivationFactory();

ActivationFactory::AddRef

Incrementa a contagem de referência do objeto ActivationFactory atual.

STDMETHOD_(
   ULONG,
   AddRef
)();

Valor de retorno

S_OK se tiver êxito; caso contrário, um HRESULT que descreve a falha.

ActivationFactory::GetIids

Recupera uma matriz de IDs de interface implementadas.

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

Parâmetros

iidCount
Quando essa operação for concluída, o número de IDs de interface na matriz iids .

iids
Quando essa operação for concluída, uma matriz de IDs de interface implementadas.

Valor de retorno

S_OK se tiver êxito; caso contrário, um HRESULT que descreve a falha. E_OUTOFMEMORY é um possível HRESULT de falha.

ActivationFactory::GetRuntimeClassName

Obtém o nome da classe de runtime do objeto que o ActivationFactory atual instancia.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parâmetros

runtimeName
Quando essa operação for concluída, um identificador para uma cadeia de caracteres que contém o nome da classe de runtime do objeto que o ActivationFactory atual instancia.

Valor de retorno

S_OK se tiver êxito; caso contrário, um HRESULT que descreve a falha.

ActivationFactory::GetTrustLevel

Obtém o nível de confiança do objeto que o ActivationFactory atual instancia.

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parâmetros

trustLvl
Quando essa operação for concluída, o nível de confiança da classe de runtime o ActivationFactory instancia.

Valor de retorno

S_OK se bem-sucedido; caso contrário, um erro de declaração é emitido e trustLvl é definido como FullTrust.

ActivationFactory::QueryInterface

Recupera um ponteiro para a interface especificada.

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

Parâmetros

riid
Um ID de interface.

ppvObject
Quando essa operação for concluída, um ponteiro para a interface especificada pelo parâmetro riid.

Valor de retorno

S_OK se tiver êxito; caso contrário, um HRESULT que descreve a falha.

ActivationFactory::Release

Diminui a contagem de referência do objeto ActivationFactory atual.

STDMETHOD_(
   ULONG,
   Release
)();

Valor de retorno

S_OK se tiver êxito; caso contrário, um HRESULT que descreve a falha.