Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 IInspectableou l’autre IUnknowndu 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;