Classe d'IDispatchImpl

Fournit une implémentation par défaut de la partie d' IDispatch d'une interface double.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s'exécutent dans Windows Runtime.

template<
   class T,
   const IID* piid= &__uuidof(T),
   const GUID* plibid = &CAtlModule::m_libid,
   WORD wMajor = 1,
   WORD wMinor = 0,
   class tihclass = CComTypeInfoHolder 
> 
class ATL_NO_VTABLE IDispatchImpl :
   public T

Paramètres

  • [in] T
    Une interface double.

  • [in] piid
    Pointeur vers l'IID d' T.

  • [in] plibid
    Pointeur vers le LIBID de la bibliothèque de types qui contient des informations sur l'interface.Par défaut, la bibliothèque de types au niveau de le serveur est passée.

  • [in] wMajor
    Version principale de la bibliothèque de types.Par défaut, la valeur est 1.

  • [in] wMinor
    Version secondaire de la bibliothèque de types.Par défaut, la valeur est 0.

  • [in] tihclass
    La classe utilisée pour gérer les informations de type pour T.Par défaut, la valeur est CComTypeInfoHolder.

Membres

494h01te.collapse_all(fr-fr,VS.110).gifConstructeurs publics

Nom

Description

IDispatchImpl::IDispatchImpl

Constructeur.Appelle AddRef sur la variable membre protégée qui gère les informations de type pour l'interface double.Le destructeur appelle Release.

494h01te.collapse_all(fr-fr,VS.110).gifMéthodes publiques

Nom

Description

IDispatchImpl::GetIDsOfNames

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

IDispatchImpl::GetTypeInfo

Extrait les informations de type pour l'interface double.

IDispatchImpl::GetTypeInfoCount

Détermine s'il existe des informations de type disponibles pour l'interface double.

IDispatchImpl::Invoke

Permet d'accéder aux méthodes et aux propriétés exposées par l'interface double.

Notes

IDispatchImpl fournit une implémentation par défaut de la partie d' IDispatch de toute interface double dans un objet.Une interface double dérive d' IDispatch et utilise uniquement des types compatibles automation.Comme une dispinterface, une interface double prend en charge la liaison anticipée et la liaison tardive ; toutefois, une interface double prend également en charge la liaison vtable.

L'exemple de code suivant illustre une implémentation standard de IDispatchImpl.

class ATL_NO_VTABLE CBeeper :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CBeeper, &CLSID_Beeper>,
   public IDispatchImpl<IBeeper, &IID_IBeeper, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>

Par défaut, recherche de classe d' IDispatchImpl les informations de type pour T dans le Registre.Pour implémenter une interface non enregistrée, vous pouvez utiliser la classe d' IDispatchImpl sans accéder au Registre à l'aide d'un numéro de version intégré.Si vous créez un objet d' IDispatchImpl qui a 0xFFFF comme valeur pour wMajor et 0xFFFF comme valeur pour wMinor, la classe d' IDispatchImpl récupère la bibliothèque de types du fichier .DLL au lieu du Registre.

IDispatchImpl contient un membre statique du type CComTypeInfoHolder qui gère les informations de type pour l'interface double.Si vous avez plusieurs objets qui implémentent la même interface double, une seule instance d' CComTypeInfoHolder est utilisée.

Hiérarchie d'héritage

T

IDispatchImpl

Configuration requise

en-tête : atlcom.h

Voir aussi

Autres ressources

Vue d'ensemble de la classe ATL