Classe RuntimeClass
Representa uma classe WinRT ou COM que herda as interfaces especificadas e fornece o suporte de referência fraca e Windows Runtime, COM clássico e especificado.
Essa classe fornece a implementação clichê das classes WinRT e COM, fornecendo a implementação de QueryInterface
, AddRef
, Release
etc., gerencia a contagem de referência do módulo e tem suporte para fornecer a fábrica de classes para objetos ativantes.
Sintaxe
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Parâmetros
classFlags
Parâmetro opcional. Uma combinação de um ou mais RuntimeClassType
valores de enumeração. A __WRL_CONFIGURATION_LEGACY__
macro pode ser definida para alterar o valor padrão de para todas as classes de tempo de classFlags
execução no projeto. Se definidas, RuntimeClass
as instâncias não são ágeis por padrão. Quando não definidas, RuntimeClass
as instâncias são ágeis por padrão. Para evitar ambiguidade, sempre especifique o Microsoft::WRL::FtmBase
in TInterfaces
ou RuntimeClassType::InhibitFtmBase
. Se InhibitFtmBase
e FtmBase
ambos forem usados, o objeto será ágil.
TInterfaces
A lista de interfaces que o objeto implementa além IUnknown
do , IInspectable
ou outras interfaces controladas pelo RuntimeClassType
. Ele também pode listar outras classes a serem derivadas, notadamente Microsoft::WRL::FtmBase
para tornar o objeto Agile e fazer com que ele seja implementado IMarshal
.
Membros
RuntimeClassInitialize
Uma função que inicializa o objeto se o MakeAndInitialize
modelo de função for usado para construir o objeto. Ele retorna S_OK
se o objeto foi inicializado com êxito ou um código de erro COM se a inicialização falhou. O código de erro COM é propagado como o valor retornado de MakeAndInitialize
. O RuntimeClassInitialize
método não será chamado se o Make
modelo de função for usado para construir o objeto.
Construtores públicos
Nome | Descrição |
---|---|
RuntimeClass::RuntimeClass |
Inicializa a instância atual da classe RuntimeClass . |
RuntimeClass::~RuntimeClass |
Desinicializa a instância atual da classe RuntimeClass . |
Métodos públicos
Nome | Descrição |
---|---|
RuntimeClass::AddRef |
Incrementa a contagem de referência para o objeto RuntimeClass atual. |
RuntimeClass::DecrementReference |
Diminui a contagem de referência para o objeto RuntimeClass atual. |
RuntimeClass::GetIids |
Obtém uma matriz que pode conter as IDs de interface implementadas pelo objeto RuntimeClass atual. |
RuntimeClass::GetRuntimeClassName |
Obtém o nome da classe de runtime do objeto RuntimeClass atual. |
RuntimeClass::GetTrustLevel |
Obtém o nível de confiança do objeto RuntimeClass atual. |
RuntimeClass::GetWeakReference |
Obtém um ponteiro para o objeto de referência fraco para o objeto RuntimeClass atual. |
RuntimeClass::InternalAddRef |
Incrementa a contagem de referência para o objeto RuntimeClass atual. |
RuntimeClass::QueryInterface |
Recupera um ponteiro para a ID de interface especificada. |
RuntimeClass::Release |
Executa uma operação de versão COM no objeto RuntimeClass atual. |
Hierarquia de herança
A hierarquia é um detalhe de implementação.
Requisitos
Cabeçalho: implements.h
Namespace: Microsoft::WRL
RuntimeClass::~RuntimeClass
Desinicializa a instância atual da classe RuntimeClass
.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Incrementa a contagem de referência para o objeto RuntimeClass
atual.
STDMETHOD_(
ULONG,
AddRef
)();
Valor retornado
S_OK
se for bem-sucedido; caso contrário, um HRESULT
que indica o erro.
RuntimeClass::DecrementReference
Diminui a contagem de referência para o objeto RuntimeClass
atual.
ULONG DecrementReference();
Valor retornado
S_OK
se for bem-sucedido; caso contrário, um HRESULT
que indica o erro.
RuntimeClass::GetIids
Obtém uma matriz que pode conter as IDs de interface implementadas pelo objeto RuntimeClass
atual.
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 total de elementos na matriz iids
.
iids
Quando essa operação for concluída, um ponteiro para uma matriz de IDs de interface.
Valor retornado
S_OK
se for bem-sucedido, caso contrário, E_OUTOFMEMORY
.
RuntimeClass::GetRuntimeClassName
Obtém o nome da classe de runtime do objeto RuntimeClass
atual.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Parâmetros
runtimeName
Quando essa operação for concluída, o nome de classe de runtime.
Valor retornado
S_OK
se for bem-sucedido; caso contrário, um HRESULT
que indica o erro.
Comentários
Um erro de declaração é emitido se __WRL_STRICT__
ou __WRL_FORCE_INSPECTABLE_CLASS_MACRO__
não estiver definido.
RuntimeClass::GetTrustLevel
Obtém o nível de confiança do objeto RuntimeClass
atual.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Parâmetros
trustLvl
Quando essa operação for concluída, o nível de confiança do objeto RuntimeClass
atual.
Valor retornado
Sempre S_OK
.
Comentários
Um erro de declaração é emitido se __WRL_STRICT__
ou __WRL_FORCE_INSPECTABLE_CLASS_MACRO__
não estiver definido.
RuntimeClass::GetWeakReference
Obtém um ponteiro para o objeto de referência fraco para o objeto RuntimeClass
atual.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Parâmetros
weakReference
Quando essa operação for concluída, um ponteiro para um objeto de referência fraco.
Valor retornado
Sempre S_OK
.
RuntimeClass::InternalAddRef
Incrementa a contagem de referência para o objeto RuntimeClass
atual.
ULONG InternalAddRef();
Valor retornado
A contagem de referência resultante.
RuntimeClass::QueryInterface
Recupera um ponteiro para a ID de 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 riid
parâmetro.
Valor retornado
S_OK
se for bem-sucedido; caso contrário, um HRESULT
que indica o erro.
RuntimeClass::Release
Executa uma operação de versão COM no objeto RuntimeClass
atual.
STDMETHOD_(
ULONG,
Release
)();
Valor retornado
S_OK
se for bem-sucedido; caso contrário, um HRESULT
que indica o erro.
Comentários
Se a contagem de referência se tornar zero, o objeto RuntimeClass
será excluído.
RuntimeClass::RuntimeClass
Inicializa a instância atual da classe RuntimeClass
.
RuntimeClass();