Partager via


ImplementsHelper (structure)

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

Syntaxe

template <typename RuntimeClassFlagsT, typename ILst, bool IsDelegateToClass>
friend struct Details::ImplementsHelper;

Paramètres

RuntimeClassFlagsT
Champ d’indicateurs qui spécifie un ou plusieurs énumérateurs RuntimeClassType .

ILst
Liste des ID d’interface.

IsDelegateToClass
Spécifiez true si l’instance actuelle d’est Implements une classe de base du premier ID d’interface dans ILst ; sinon, false.

Notes

Aide à implémenter la structure Implements .

Ce modèle traverse une liste d’interfaces et les ajoute en tant que classes de base, ainsi que les informations nécessaires pour activer QueryInterface.

Membres

Méthodes protégées

Nom Description
ImplementsHelper ::CanCastTo Obtient un pointeur vers l’ID d’interface spécifié.
ImplementsHelper ::CastToUnknown Obtient un pointeur vers l’interface sous-jacente IUnknown de la structure actuelle Implements .
ImplementsHelper ::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é.
ImplementsHelper ::IidCount Contient le nombre d’ID d’interface implémentés dans l’objet actuel Implements .

Hiérarchie d'héritage

ImplementsHelper

Spécifications

En-tête : implements.h

Namespace : Microsoft ::WRL ::D etails

ImplementsHelper ::CanCastTo

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

HRESULT CanCastTo(
   REFIID riid,
   _Deref_out_ void **ppv
);

HRESULT CanCastTo(
   _In_ const IID &iid,
   _Deref_out_ void **ppv
);

Paramètres

riid
Référence à un ID d’interface.

ppv
Si cette opération réussit, un pointeur vers l’interface spécifiée par riid ou iid.

iid
Référence à un ID d’interface.

Valeur de retour

S_OK si l'opération réussit. Sinon, une valeur HRESULT indique l'erreur.

Notes

Obtient un pointeur vers l’ID d’interface spécifié.

ImplementsHelper ::CastToUnknown

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

IUnknown* CastToUnknown();

Valeur de retour

Pointeur vers l’interface sous-jacente IUnknown .

Notes

Obtient un pointeur vers l’interface sous-jacente IUnknown de la structure actuelle Implements .

ImplementsHelper ::FillArrayWithIid

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

void FillArrayWithIid(
   _Inout_ unsigned long *index,
   _Inout_ IID* iids) throw();

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 types IID.

Notes

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é.

ImplementsHelper ::IidCount

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

static const unsigned long IidCount;

Notes

Contient le nombre d’ID d’interface implémentés dans l’objet actuel Implements .