Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Clase
Representa una clase WinRT o COM que hereda el las interfaces proporcionadas y ofrece la compatibilidad especificada con Windows Runtime, COM clásico y referencia débil.
Esta clase proporciona la implementación reutilizable de clases WINRT y COM, proporcionando la implementación de QueryInterface, AddRef, Release, etc., administra el recuento de referencias del módulo y tiene compatibilidad para proporcionar el generador de clases para objetos activables.
Sintaxis
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Parámetros
classFlags
Parámetro opcional. Combinación de uno o varios RuntimeClassType valores de enumeración. La __WRL_CONFIGURATION_LEGACY__ macro se puede definir para cambiar el valor predeterminado de para todas las clases en tiempo de classFlags ejecución del proyecto. Si se define, RuntimeClass las instancias no son ágiles de forma predeterminada. Cuando no se define, RuntimeClass las instancias son ágiles de forma predeterminada. Para evitar ambigüedad, especifique siempre en Microsoft::WRL::FtmBase TInterfaces o RuntimeClassType::InhibitFtmBase. Si InhibitFtmBase se usan y FtmBase , el objeto será ágil.
TInterfaces
La lista de interfaces que el objeto implementa más allá IUnknownde , IInspectable u otras interfaces controladas por RuntimeClassType. También puede enumerar otras clases de las que se van a derivar, especialmente Microsoft::WRL::FtmBase para que el objeto sea ágil y hacer que implemente IMarshal.
Miembros
RuntimeClassInitialize
Función que inicializa el objeto si se usa la MakeAndInitialize plantilla de función para construir el objeto. Devuelve S_OK si el objeto se inicializó correctamente o un código de error COM si se produjo un error en la inicialización. El código de error COM se propaga como el valor devuelto de MakeAndInitialize. No RuntimeClassInitialize se llama al método si se usa la Make plantilla de función para construir el objeto .
Constructores públicos
| Nombre | Descripción |
|---|---|
RuntimeClass::RuntimeClass |
Inicializa la instancia actual de la clase RuntimeClass. |
RuntimeClass::~RuntimeClass |
Desinicializa la instancia actual de la clase RuntimeClass. |
Métodos públicos
| Nombre | Descripción |
|---|---|
RuntimeClass::AddRef |
Incrementa el recuento de referencias del objeto RuntimeClass actual. |
RuntimeClass::DecrementReference |
Disminuye el recuento de referencias del objeto RuntimeClass actual. |
RuntimeClass::GetIids |
Obtiene una matriz que puede contener los identificadores de interfaz implementados por el objeto RuntimeClass actual. |
RuntimeClass::GetRuntimeClassName |
Obtiene el nombre de clase del entorno de ejecución del objeto RuntimeClass actual. |
RuntimeClass::GetTrustLevel |
Obtiene el nivel de confianza del objeto RuntimeClass actual. |
RuntimeClass::GetWeakReference |
Obtiene un puntero al objeto de referencia débil del objeto RuntimeClass actual. |
RuntimeClass::InternalAddRef |
Incrementa el recuento de referencias al objeto RuntimeClass actual. |
RuntimeClass::QueryInterface |
Recupera un puntero al identificador de interfaz especificado. |
RuntimeClass::Release |
Realiza una operación de versión COM en el objeto RuntimeClass actual. |
Jerarquía de herencia
La jerarquía es un detalle de implementación.
Requisitos
Encabezado: implements.h
Espacio de nombres: Microsoft::WRL
RuntimeClass::~RuntimeClass
Desinicializa la instancia actual de la clase RuntimeClass.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Incrementa el recuento de referencias del objeto RuntimeClass actual.
STDMETHOD_(
ULONG,
AddRef
)();
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, devuelve HRESULT que indica el error.
RuntimeClass::DecrementReference
Disminuye el recuento de referencias del objeto RuntimeClass actual.
ULONG DecrementReference();
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, devuelve HRESULT que indica el error.
RuntimeClass::GetIids
Obtiene una matriz que puede contener los identificadores de interfaz implementados por el objeto RuntimeClass actual.
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 total de elementos de la matriz iids.
iids
Cuando se completa esta operación, un puntero a una matriz de identificadores de interfaz.
Valor devuelto
S_OK, si es correcto; en caso contrario, E_OUTOFMEMORY.
RuntimeClass::GetRuntimeClassName
Obtiene el nombre de clase del entorno de ejecución del objeto RuntimeClass actual.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Parámetros
runtimeName
Cuando se completa esta operación, es el nombre de clase del runtime.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, devuelve HRESULT que indica el error.
Comentarios
Se genera un error de aserción si no se define __WRL_STRICT__ o __WRL_FORCE_INSPECTABLE_CLASS_MACRO__.
RuntimeClass::GetTrustLevel
Obtiene el nivel de confianza del objeto RuntimeClass actual.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Parámetros
trustLvl
Cuando se completa esta operación, el nivel de confianza del objeto RuntimeClass actual.
Valor devuelto
Siempre S_OK.
Comentarios
Se genera un error de aserción si no se define __WRL_STRICT__ o __WRL_FORCE_INSPECTABLE_CLASS_MACRO__.
RuntimeClass::GetWeakReference
Obtiene un puntero al objeto de referencia débil del objeto RuntimeClass actual.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Parámetros
weakReference
Cuando se completa esta operación, devuelve un puntero a un objeto de referencia débil.
Valor devuelto
Siempre S_OK.
RuntimeClass::InternalAddRef
Incrementa el recuento de referencias al objeto RuntimeClass actual.
ULONG InternalAddRef();
Valor devuelto
Recuento de referencias resultante.
RuntimeClass::QueryInterface
Recupera un puntero al identificador de interfaz especificado.
STDMETHOD(
QueryInterface
)
(REFIID riid,
_Deref_out_ void **ppvObject);
Parámetros
riid
Id. de interfaz.
ppvObject
Cuando se completa esta operación, un puntero a la interfaz especificada por el riid parámetro .
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, devuelve HRESULT que indica el error.
RuntimeClass::Release
Realiza una operación de versión COM en el objeto RuntimeClass actual.
STDMETHOD_(
ULONG,
Release
)();
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, devuelve HRESULT que indica el error.
Comentarios
Si el recuento de referencias se convierte en cero, se elimina el objeto RuntimeClass.
RuntimeClass::RuntimeClass
Inicializa la instancia actual de la clase RuntimeClass.
RuntimeClass();