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.