Implements (structure)
Implémente QueryInterface
et GetIid
pour les interfaces spécifiées.
Syntaxe
template <
typename I0,
typename I1 = Details::Nil,
typename I2 = Details::Nil,
typename I3 = Details::Nil,
typename I4 = Details::Nil,
typename I5 = Details::Nil,
typename I6 = Details::Nil,
typename I7 = Details::Nil,
typename I8 = Details::Nil,
typename I9 = Details::Nil
>
struct __declspec(novtable) Implements :
Details::ImplementsHelper<
RuntimeClassFlags<WinRt>,
typename Details::InterfaceListHelper<
I0, I1, I2, I3, I4, I5, I6, I7, I8, I9
>::TypeT
>,
Details::ImplementsBase;
template <
int flags,
typename I0,
typename I1,
typename I2,
typename I3,
typename I4,
typename I5,
typename I6,
typename I7,
typename I8
>
struct __declspec(novtable) Implements<
RuntimeClassFlags<flags>,
I0, I1, I2, I3, I4, I5, I6, I7, I8> :
Details::ImplementsHelper<
RuntimeClassFlags<flags>,
typename Details::InterfaceListHelper<
I0, I1, I2, I3, I4, I5, I6, I7, I8
>::TypeT
>,
Details::ImplementsBase;
Paramètres
I0
ID d’interface zéro. (obligatoire)
I1
Premier ID d’interface. (Facultatif)
I2
Deuxième ID d’interface. (Facultatif)
I3
Troisième ID d’interface. (Facultatif)
I4
Quatrième ID d’interface. (Facultatif)
I5
Cinquième ID d’interface. (Facultatif)
I6
Sixième ID d’interface. (Facultatif)
I7
Septième ID d’interface. (Facultatif)
I8
Huitième ID d’interface. (Facultatif)
I9
Neuvième ID d’interface. (Facultatif)
flags
Indicateurs de configuration pour la classe. Une ou plusieurs énumérations RuntimeClassType spécifiées dans une structure RuntimeClassFlags .
Notes
Dérive de la liste des interfaces spécifiées et implémente des modèles d’assistance pour QueryInterface
et GetIid
.
Chaque paramètre d’interface I0 à I9 doit dériver de l’un IInspectable
ou l’autre IUnknown
du modèle ChainInterfaces. Le paramètre d’indicateurs détermine si la prise en charge est générée pour IUnknown
ou IInspectable
.
Membres
Typedefs publics
Nom | Description |
---|---|
ClassFlags |
Synonyme de RuntimeClassFlags<WinRt> . |
Méthodes protégées
Nom | Description |
---|---|
Implémente ::CanCastTo | Obtient un pointeur vers l’interface spécifiée. |
Implements ::CastToUnknown | Obtient un pointeur vers l’interface sous-jacente IUnknown . |
Implémente ::FillArrayWithIid | Insère l’ID d’interface spécifié par le paramètre de modèle zéroth actuel dans l’élément de tableau spécifié. |
Constantes protégées
Nom | Description |
---|---|
Implements ::IidCount | Contient le nombre d’ID d’interface implémentés. |
Hiérarchie d'héritage
I0
ChainInterfaces
I0
ImplementsBase
ImplementsHelper
Implements
Spécifications
En-tête : implements.h
Espace de noms : Microsoft::WRL
Implémente ::CanCastTo
Obtient un pointeur vers l’interface spécifiée.
__forceinline HRESULT CanCastTo(
REFIID riid,
_Deref_out_ void **ppv
);
Paramètres
riid
Référence à un ID d’interface.
ppv
Si elle réussit, un pointeur vers l’interface spécifiée par riid.
Valeur de retour
S_OK en cas de réussite ; sinon, HRESULT qui indique l’erreur, telle que E_NOINTERFACE.
Notes
Il s’agit d’une fonction d’assistance interne qui effectue une opération QueryInterface.
Implements ::CastToUnknown
Obtient un pointeur vers l’interface sous-jacente IUnknown
.
__forceinline IUnknown* CastToUnknown();
Valeur de retour
Cette opération réussit toujours et retourne le IUnknown
pointeur.
Notes
Fonction d’assistance interne.
Implémente ::FillArrayWithIid
Insère l’ID d’interface spécifié par le paramètre de modèle zéroth actuel dans l’élément de tableau spécifié.
__forceinline static void FillArrayWithIid(
unsigned long &index,
_In_ IID* iids
);
Paramètres
index
Index de base zéro qui indique l’élément de tableau de départ pour cette opération. Une fois cette opération terminée, l’index est incrémenté de 1.
iids
Tableau de type IID.
Notes
Fonction d’assistance interne.
Implements ::IidCount
Contient le nombre d’ID d’interface implémentés.
static const unsigned long IidCount;