Partage via


Classe RuntimeClass

Représente une classe WinRT ou COM qui hérite des interfaces spécifiées et fournit la prise en charge de référence faible et classique de Windows Runtime, classique et faible.

Cette classe fournit l’implémentation réutilisable des classes WinRT et COM, en fournissant l’implémentation , etcRelease., gère le nombre de QueryInterfaceAddRefréférences du module et prend en charge la fabrique de classes pour les objets pouvant être activés.

Syntaxe

template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;

Paramètres

classFlags
Paramètre facultatif. Combinaison d’une ou plusieurs RuntimeClassType valeurs d’énumération. La __WRL_CONFIGURATION_LEGACY__ macro peut être définie pour modifier la valeur par défaut de classFlags toutes les classes runtime du projet. Si elles sont définies, RuntimeClass les instances ne sont pas agiles par défaut. Lorsqu’elles ne sont pas définies, RuntimeClass les instances sont agiles par défaut. Pour éviter toute ambiguïté, spécifiez toujours l’élément Microsoft::WRL::FtmBase in TInterfaces ou RuntimeClassType::InhibitFtmBase. Si InhibitFtmBase et FtmBase sont utilisés, l’objet sera agile.

TInterfaces
La liste des interfaces que l’objet implémente au-delà IUnknown, IInspectable ou d’autres interfaces contrôlées par RuntimeClassType. Il peut également répertorier d’autres classes à partir de, notamment Microsoft::WRL::FtmBase pour rendre l’objet agile et le provoquer à implémenter IMarshal.

Membres

RuntimeClassInitialize
Fonction qui initialise l’objet si le MakeAndInitialize modèle de fonction est utilisé pour construire l’objet. Elle retourne S_OK si l’objet a été initialisé correctement ou si un code d’erreur COM a échoué. Le code d’erreur COM est propagé en tant que valeur de retour de MakeAndInitialize. La RuntimeClassInitialize méthode n’est pas appelée si le Make modèle de fonction est utilisé pour construire l’objet.

Constructeurs publics

Nom Description
RuntimeClass::RuntimeClass Initialise l’instance actuelle de la RuntimeClass classe.
RuntimeClass::~RuntimeClass Désinitialise l’instance actuelle de la RuntimeClass classe.

Méthodes publiques

Nom Description
RuntimeClass::AddRef Incrémente le nombre de références pour l’objet actuel RuntimeClass .
RuntimeClass::DecrementReference Décrémente le nombre de références de l’objet actuel RuntimeClass .
RuntimeClass::GetIids Obtient un tableau qui peut contenir les ID d’interface implémentés par l’objet actuel RuntimeClass .
RuntimeClass::GetRuntimeClassName Obtient le nom de classe runtime de l’objet actif RuntimeClass .
RuntimeClass::GetTrustLevel Obtient le niveau d’approbation de l’objet actuel RuntimeClass .
RuntimeClass::GetWeakReference Obtient un pointeur vers l’objet de référence faible pour l’objet actuel RuntimeClass .
RuntimeClass::InternalAddRef Incrémente le nombre de références à l’objet actuel RuntimeClass .
RuntimeClass::QueryInterface Récupère un pointeur vers l’ID d’interface spécifié.
RuntimeClass::Release Effectue une opération COM Release sur l’objet actuel RuntimeClass .

Hiérarchie d'héritage

La hiérarchie est un détail d’implémentation.

Spécifications

En-tête : implements.h

Espace de noms : Microsoft::WRL

RuntimeClass::~RuntimeClass

Désinitialise l’instance actuelle de la RuntimeClass classe.

virtual ~RuntimeClass();

RuntimeClass::AddRef

Incrémente le nombre de références pour l’objet actuel RuntimeClass .

STDMETHOD_(
   ULONG,
   AddRef
)();

Valeur retournée

S_OK si elle réussit ; sinon, qui HRESULT indique l’erreur.

RuntimeClass::DecrementReference

Décrémente le nombre de références de l’objet actuel RuntimeClass .

ULONG DecrementReference();

Valeur retournée

S_OK si elle réussit ; sinon, qui HRESULT indique l’erreur.

RuntimeClass::GetIids

Obtient un tableau qui peut contenir les ID d’interface implémentés par l’objet actuel RuntimeClass .

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

Paramètres

iidCount
Une fois cette opération terminée, le nombre total d’éléments dans le tableau iids.

iids
Une fois cette opération terminée, pointeur vers un tableau d’ID d’interface.

Valeur retournée

S_OK en cas de réussite ; sinon, E_OUTOFMEMORY.

RuntimeClass::GetRuntimeClassName

Obtient le nom de classe runtime de l’objet actif RuntimeClass .

STDMETHOD( GetRuntimeClassName )(
    _Out_ HSTRING* runtimeName
);

Paramètres

runtimeName
Une fois cette opération terminée, le nom de la classe runtime.

Valeur retournée

S_OK si elle réussit ; sinon, qui HRESULT indique l’erreur.

Notes

Une erreur d’assertion est émise si __WRL_STRICT__ elle n’est pas définie ou __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ non.

RuntimeClass::GetTrustLevel

Obtient le niveau d’approbation de l’objet actuel RuntimeClass .

STDMETHOD(GetTrustLevel)(
    _Out_ TrustLevel* trustLvl
);

Paramètres

trustLvl
Une fois cette opération terminée, niveau d’approbation de l’objet actuel RuntimeClass .

Valeur retournée

A toujours la valeur S_OK.

Notes

Une erreur d’assertion est émise si __WRL_STRICT__ elle n’est pas définie ou __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ non.

RuntimeClass::GetWeakReference

Obtient un pointeur vers l’objet de référence faible pour l’objet actuel RuntimeClass .

STDMETHOD(
   GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);

Paramètres

weakReference
Une fois cette opération terminée, pointeur vers un objet de référence faible.

Valeur retournée

A toujours la valeur S_OK.

RuntimeClass::InternalAddRef

Incrémente le nombre de références à l’objet actuel RuntimeClass .

ULONG InternalAddRef();

Valeur retournée

Nombre de références résultant.

RuntimeClass::QueryInterface

Récupère un pointeur vers l’ID d’interface spécifié.

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

Paramètres

riid
ID d’interface.

ppvObject
Une fois cette opération terminée, pointeur vers l’interface spécifiée par le riid paramètre.

Valeur retournée

S_OK si elle réussit ; sinon, qui HRESULT indique l’erreur.

RuntimeClass::Release

Effectue une opération COM Release sur l’objet actuel RuntimeClass .

STDMETHOD_(
   ULONG,
   Release
)();

Valeur retournée

S_OK si elle réussit ; sinon, qui HRESULT indique l’erreur.

Notes

Si le nombre de références devient zéro, l’objet RuntimeClass est supprimé.

RuntimeClass::RuntimeClass

Initialise l’instance actuelle de la RuntimeClass classe.

RuntimeClass();