Classe di IDispatchImpl

Fornisce un'implementazione predefinita della parte IDispatch di un'interfaccia duale.

Nota importanteImportante

Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in 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

Parametri

  • [in] T
    Un'interfaccia duale.

  • [in] piid
    Un puntatore all'IID T.

  • [in] plibid
    Un puntatore al LIBID della libreria dei tipi contenente le informazioni sull'interfaccia.Per impostazione predefinita, la libreria dei tipi a livello di server viene passata.

  • [in] wMajor
    La versione principale della libreria dei tipi.Per impostazione predefinita, il valore è 1.

  • [in] wMinor
    La versione secondaria della libreria dei tipi.Per impostazione predefinita, il valore è 0.

  • [in] tihclass
    La classe utilizzata per gestire le informazioni sul tipo per T.Per impostazione predefinita, il valore è CComTypeInfoHolder.

Membri

494h01te.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

IDispatchImpl::IDispatchImpl

Costruttore.Chiama AddRef nella variabile membro protetto che gestisce le informazioni sul tipo per l'interfaccia duale.Il distruttore chiama Release.

494h01te.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

IDispatchImpl::GetIDsOfNames

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

IDispatchImpl::GetTypeInfo

Recupera le informazioni sul tipo per l'interfaccia duale.

IDispatchImpl::GetTypeInfoCount

Determina se sono presenti informazioni sui tipi disponibili per l'interfaccia duale.

IDispatchImpl::Invoke

Fornisce l'accesso ai metodi e le proprietà esposti dall'interfaccia duale.

Note

IDispatchImpl fornisce un'implementazione predefinita della parte IDispatch di un'interfaccia duale in un oggetto.Le interfacce duali derivano da IDispatch e utilizza solo tipi compatibili automazione.Come un'interfaccia dispatch, un'interfaccia duale supporta l'associazione anticipata e l'associazione tardiva; tuttavia, un'interfaccia duale supporta anche l'associazione vtable.

Nell'esempio riportato di seguito viene illustrata una comune implementazione dell'oggetto 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>

Per impostazione predefinita, la classe IDispatchImpl reperire le informazioni sul tipo per T nel Registro di sistema.Per implementare un'interfaccia non registrata, è possibile utilizzare la classe IDispatchImpl senza accedere al Registro di sistema utilizzando un numero di versione predefinito.Se si crea un oggetto IDispatchImpl con 0xFFFF come valore per wMajor e 0xFFFF come valore per wMinor, la classe IDispatchImpl recupera la libreria dei tipi dal file DLL anziché del Registro di sistema.

IDispatchImpl contiene un membro statico di tipo CComTypeInfoHolder che gestisce le informazioni sul tipo per l'interfaccia duale.Se si dispone di più oggetti che implementano la stessa interfaccia duale, solo un'istanza CComTypeInfoHolder viene utilizzata.

Gerarchia di ereditarietà

T

IDispatchImpl

Requisiti

intestazione: atlcom.h

Vedere anche

Altre risorse

I cenni preliminari sulle classi ATL