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 QueryInterface
AddRef
ré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();