Classe IDispatchImpl
Essa classe fornece uma implementação padrão para IDispatch parte de uma interface dupla.
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
Parâmetros
T
Uma interface dupla.piid
Um ponteiro para o IID da T.plibid
Um ponteiro para LIBID da biblioteca de tipos que contém informações sobre a interface.Por padrão, a biblioteca de tipos de nível de servidor é passada.wMajor
A versão principal da biblioteca de tipos.O valor padrão é 1.wMinor
A versão secundária da biblioteca de tipos.O valor padrão é 0.tihclass
A classe usada para gerenciar as informações de tipo de T. O valor padrão é CComTypeInfoHolder.
Comentários
IDispatchImpl Fornece uma implementação padrão para o IDispatch parte de qualquer interface dupla em seu objeto. Uma interface dupla deriva de IDispatch e usa somente tipos compatível com automação. Como um dispinterface, uma interface dupla suporta ligação antecipada e atrasada; no entanto, uma interface dupla difere em que ele também oferece suporte a vinculação vtable.Para obter mais informações, consulte Implementing the IDispatch Interface.
O exemplo a seguir mostra uma implementação típica 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>
IDispatchImpl contém um membro estático do tipo CComTypeInfoHolder que gerencia informações de tipo de interface dupla. Se você tiver vários objetos de implementação da interface dupla mesma, apenas uma única instância de CComTypeInfoHolder será usado.
Requisitos
Cabeçalho: atlcom.h