winrt ::Windows ::Foundation ::IUnknown struct (C++/WinRT)
Chaque classe d’exécution C++/WinRT (qu’il s’agisse d’une classe d’exécution Windows ou d’une classe d’exécution tierce) dérive de winrt ::Windows ::Foundation ::IUnknown. Il représente l’interface COM IUnknown et fournit des fonctionnalités telles que l’interrogation d’une autre interface, les fonctions abi et les opérateurs de comparaison.
Syntax
struct IUnknown
Configuration requise
Sdk minimum pris en charge : SDK Windows version 10.0.17134.0 (Windows 10, version 1803)
Espace de noms : winrt
En-tête : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (inclus par défaut)
Constructeurs
Constructeur | Description |
---|---|
Constructeur IUnknown ::IUnknown | Initialise une nouvelle instance du struct IUnknown, éventuellement avec une copie ou un déplacement des données d’entrée. |
Fonctions Membre
Fonction | Description |
---|---|
Fonction IUnknown ::as | Retourne l’interface demandée, si elle est prise en charge. Lève si ce n’est pas le cas. |
Fonction IUnknown ::try_as | Retourne l’interface demandée, si elle est prise en charge. Retourne null ou , si false ce n’est pas le cas. |
Opérateurs membres
Opérateur | Description |
---|---|
IUnknown ::operator bool | Vérifie si l’objet IUnknown fait référence ou non à une interface. |
IUnknown ::operator= (opérateur d’affectation) | Affecte une valeur à l’objet IUnknown . |
Fonctions gratuites
Fonction | Description |
---|---|
attach_abi, fonction | Attache un objet IUnknown à un pointeur brut qui possède une référence à sa cible ; aucune référence supplémentaire n’est ajoutée. |
copy_from_abi, fonction | Copie vers un objet IUnknown à partir d’un autre pointeur. Décrémente le nombre de références sur toute interface ou objet actuellement référencé, copie le paramètre de pointeur brut et commence à gérer la durée de vie de l’interface ou de l’objet pointé par celui-ci. |
copy_to_abi, fonction | Copie vers un autre pointeur à partir d’un objet IUnknown . Incrémente le nombre de références sur n’importe quelle interface ou objet actuellement référencé, et copie l’adresse mémoire de l’interface ou de l’objet dans le paramètre . |
detach_abi, fonction | Détache de l’interface IUnknown brute sans décrémenter le nombre de références, peut-être pour le renvoyer à un appelant. |
get_abi fonction | Retourne le pointeur d’interface IUnknown brut sous-jacent si vous devez le passer à une fonction. |
get_unknown, fonction | Fonction d’assistance qui retourne l’adresse de l’interface IUnknown brute sous-jacente d’un objet d’un type projeté. |
put_abi fonction | Retourne l’adresse du pointeur d’interface IUnknown brut sous-jacent en tant que pointeur vers un pointeur vers void ; cette fonction vous aide à appeler des méthodes (telles que les méthodes COM) qui retournent des références en tant que paramètres sortants via un pointeur vers un pointeur vers void. |
swap, fonction | Échange le contenu des deux paramètres IUnknown afin qu’ils pointent vers la cible de l’autre. |
Opérateurs gratuits
Fonction | Description |
---|---|
operator != (opérateur d’inégalité) | Retourne une valeur indiquant si les deux paramètres font référence à des cibles différentes. |
opérateur< (opérateur inférieur à l’opérateur) | Retourne une valeur indiquant si la cible du premier paramètre se produit plus tôt dans la mémoire que celle du deuxième paramètre. |
operator<= (opérateur inférieur ou égal à) | Retourne une valeur indiquant si la cible du premier paramètre se produit plus tôt dans la mémoire ou au même emplacement que celui du deuxième paramètre. |
operator== (opérateur d’égalité) | Retourne une valeur indiquant si les deux paramètres font référence à la même interface et/ou objet. |
opérateur> (supérieur à l’opérateur) | Retourne une valeur indiquant si la cible du premier paramètre se produit plus tard dans la mémoire que celle du deuxième paramètre. |
operator>= (opérateur supérieur à ou égal à) | Retourne une valeur indiquant si la cible du premier paramètre se produit plus tard dans la mémoire ou au même emplacement que celui du deuxième paramètre. |
Constructeur IUnknown ::IUnknown
Initialise une nouvelle instance du struct IUnknown, éventuellement avec une copie ou un déplacement des données d’entrée.
Syntaxe
IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;
Paramètres
other
Un autre IUnknown qui initialise l’objet IUnknown .
Fonction IUnknown ::as
Retourne l’interface demandée, si elle est prise en charge. Lève si ce n’est pas le cas. Cette fonction est utile si vous souhaitez rechercher une interface que vous n’avez pas besoin de renvoyer à votre appelant.
Syntax
template <typename To> auto as() const;
template <typename To> void as(To& to) const;
Paramètres de modèle
typename To
Type de l’interface demandée.
Paramètres
to
Référence à une valeur pour recevoir l’interface demandée.
Valeur retournée
Un com_ptr référençant l’interface demandée, ou un pointeur intelligent fortement typé pour l’interface demandée (déclaré par C++/WinRT ou par un tiers).
Fonction IUnknown ::try_as
Retourne l’interface demandée, si elle est prise en charge. Retourne null
(la auto
surcharge -retour) ou false
(la surcharge -retour), si ce n’est pas le bool
cas. Cette fonction est utile si vous souhaitez rechercher une interface que vous n’avez pas besoin de renvoyer à votre appelant.
Syntax
template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;
Paramètres de modèle
typename To
Type de l’interface demandée.
Paramètres
to
Référence à une valeur pour recevoir l’interface demandée. Peut être une référence null.
Valeur retournée
Un com_ptr référençant l’interface demandée, ou un pointeur intelligent fortement typé pour l’interface demandée (déclaré par C++/WinRT ou par un tiers), si l’interface demandée est prise en charge, sinon null
(surcharge auto
-retour) ou false
(surcharge bool
-retour).
Si to
est une référence null, retourne null
ou false
.
IUnknown ::operator bool
Vérifie si l’objet IUnknown fait référence ou non à une interface. Si l’objet IUnknown ne fait pas référence à une interface, il est logiquement null ; sinon, elle n’est logiquement pas null.
Syntaxe
explicit operator bool() const noexcept;
Valeur de retour
true
si l’objet IUnknown fait référence à une interface (logiquement non null), sinon false
(logiquement null).
IUnknown ::operator= (opérateur d’affectation)
Affecte une valeur à l’objet IUnknown .
Syntaxe
winrt::Windows::Foundation::IUnknown& operator=(winrt::Windows::Foundation::IUnknown const& other) noexcept;
winrt::Windows::Foundation::IUnknown& operator=(winrt::Windows::Foundation::IUnknown&& other) noexcept;
winrt::Windows::Foundation::IUnknown& operator=(std::nullptr_t) noexcept;
Paramètres
other
Valeur IUnknown à affecter à l’objet IUnknown , par copie ou par déplacement.
Valeur retournée
Référence à l’objet IUnknown .
attach_abi, fonction
Attache un objet IUnknown à un pointeur brut qui possède une référence à sa cible ; aucune référence supplémentaire n’est ajoutée. Si nécessaire, vous pouvez utiliser cette fonction pour fusionner les références.
Syntaxe
void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Paramètres
object
Valeur IUnknown sur laquelle opérer.
value
Pointeur brut qui possède une référence à sa cible.
copy_from_abi, fonction
Copie vers un objet IUnknown à partir d’un autre pointeur. Décrémente le nombre de références sur une interface ou un objet actuellement référencé, copie le paramètre de pointeur brut et commence à gérer la durée de vie de l’interface ou de l’objet vers lequel il pointe.
Syntaxe
void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;
Paramètres
object
Valeur IUnknown sur laquelle opérer.
value
Pointeur brut vers une cible dont la durée de vie doit être gérée par l’objet IUnknown .
copy_to_abi, fonction
Copie vers un autre pointeur à partir d’un objet IUnknown . Incrémente le nombre de références sur n’importe quelle interface ou objet actuellement référencé, et copie cette interface ou l’adresse mémoire de cet objet dans le paramètre . Cette fonction vous permet de transmettre une référence à la même interface sans appeler QueryInterface.
Syntaxe
void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;
Paramètres
object
Valeur IUnknown sur laquelle opérer.
value
Référence de pointeur brute ; via lequel copier le pointeur vers la cible de l’objet IUnknown .
detach_abi, fonction
Détache un objet IUnknown de son interface IUnknown brute sans décrémenter le nombre de références, peut-être pour le retourner à un appelant.
Syntaxe
void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
Paramètres
object
Valeur IUnknown sur laquelle opérer.
Valeur retournée
Pointeur vers l’interface IUnknown brute référencée par l’objet IUnknown .
get_abi, fonction
Retourne le pointeur d’interface IUnknown brut sous-jacent si vous devez le passer à une fonction. Vous pouvez appeler AddRef, Release ou QueryInterface sur le pointeur retourné.
Syntaxe
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Paramètres
object
Valeur IUnknown sur laquelle opérer.
Valeur retournée
Pointeur vers l’interface IUnknown brute référencée par l’objet IUnknown .
operator != (opérateur d’inégalité)
Retourne une valeur indiquant si les deux paramètres font référence à des cibles différentes.
Syntaxe
bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont l’adresse mémoire de la cible doit être comparée à celle de l’autre paramètre.
Valeur retournée
true
si les deux paramètres pointent vers des cibles différentes , sinon false
.
opérateur< (opérateur inférieur à)
Retourne une valeur indiquant si la cible du premier paramètre se produit plus tôt dans la mémoire que celle du deuxième paramètre.
Syntaxe
bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont l’adresse mémoire de la cible doit être comparée à celle de l’autre paramètre.
Valeur retournée
true
si l’adresse mémoire du premier paramètre cible est inférieure à celle du deuxième paramètre , sinon false
.
operator<= (opérateur inférieur à ou égal à)
Retourne une valeur indiquant si la cible du premier paramètre se produit plus tôt dans la mémoire que, ou au même emplacement que, celui du deuxième paramètre.
Syntaxe
bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont l’adresse mémoire de la cible doit être comparée à celle de l’autre paramètre.
Valeur retournée
true
si l’adresse mémoire du premier paramètre cible est inférieure ou égale à celle du deuxième paramètre , sinon false
.
operator== (opérateur d’égalité)
Retourne une valeur indiquant si les deux paramètres font référence à la même interface et/ou au même objet.
Syntaxe
bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont l’adresse mémoire de la cible doit être comparée à celle de l’autre paramètre.
Valeur retournée
true
si les deux paramètres pointent vers la même cible , sinon false
.
opérateur> (opérateur supérieur à)
Retourne une valeur indiquant si la cible du premier paramètre se produit plus tard dans la mémoire que celle du deuxième paramètre.
Syntaxe
bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont l’adresse mémoire de la cible doit être comparée à celle de l’autre paramètre.
Valeur retournée
true
si l’adresse mémoire de la cible du premier paramètre est supérieure à celle du deuxième paramètre , sinon false
.
operator>= (opérateur supérieur à ou égal à)
Retourne une valeur indiquant si la cible du premier paramètre se produit plus tard dans la mémoire ou au même emplacement que celui du deuxième paramètre.
Syntaxe
bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont l’adresse mémoire de la cible doit être comparée à celle de l’autre paramètre.
Valeur retournée
true
si l’adresse mémoire du premier paramètre cible est supérieure ou égale à celle du deuxième paramètre , sinon false
.
put_abi fonction
Retourne l’adresse du pointeur d’interface IUnknown brut sous-jacent en tant que pointeur vers void ; cette fonction vous permet d’appeler des méthodes (telles que les méthodes COM) qui retournent des références en tant que paramètres sortants via un pointeur vers void.
Syntaxe
void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
Paramètres
object
Valeur IUnknown sur laquelle opérer.
Valeur retournée
Adresse du pointeur d’interface IUnknown brut sous-jacent.
swap, fonction
Permute le contenu des deux paramètres IUnknown afin qu’ils pointent vers la cible de l’autre.
Syntaxe
void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;
Paramètres
left
right
Valeur IUnknown dont le pointeur vers l’échange mutuel avec celui de l’autre paramètre.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour