Classe de IDispatchImpl
Fornece uma implementação padrão para a parte de IDispatch de uma interface dupla.
Importante |
---|
Essa classe e seus membros não podem ser usados em aplicativos executados em Tempo de Execução do Windows. |
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
[in] T
Uma interface dupla.[in] piid
Um ponteiro para o IID de T.[in] plibid
Um ponteiro para o LIBID da biblioteca de tipos que contém informações sobre a interface.Por padrão, a biblioteca de tipos no nível de servidor é passada.[in] wMajor
A versão principal de biblioteca de tipo.Por padrão, o valor é 1.[in] wMinor
A versão secundária de biblioteca de tipo.Por padrão, o valor é 0.[in] tihclass
A classe usada para gerenciar informações de tipo para T.Por padrão, o valor é CComTypeInfoHolder.
Membros
Construtores public
Nome |
Descrição |
---|---|
o construtor.Chama AddRef protegido na variável de membro que gerencia informações de tipo para a interface dupla.O destrutor chama Release. |
Métodos públicos
Nome |
Descrição |
---|---|
Mapeia um conjunto de nomes a um conjunto correspondente de identificadores de distribuição. |
|
Recupera informações de tipo para a interface dupla. |
|
Determina se houver informações de tipo para a interface dupla. |
|
Fornece acesso a métodos e propriedades expostas pela interface dupla. |
Comentários
IDispatchImpl fornece uma implementação padrão para a parte de IDispatch de qualquer interface dupla em um objeto.Uma interface dupla deriva de IDispatch e usar somente tipos compatíveis Automação-.Como um dispinterface, uma interface dupla suporta associação inicial e associação tardia; no entanto, uma interface dupla também suporta associação vtable.
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>
Por padrão, a classe de IDispatchImpl pesquisa informações de tipo para T no Registro.Para implementar uma interface desregistrado, você pode usar a classe de IDispatchImpl sem acessar o Registro usando um número de versão predefinido.Se você criar um objeto de IDispatchImpl que tem 0xFFFF como o valor para wMajor e 0xFFFF como o valor para wMinor, a classe de IDispatchImpl recupera a biblioteca de tipos de arquivo .dll em vez do Registro.
IDispatchImpl contém um membro estático do tipo CComTypeInfoHolder que gerencia informações de tipo para a interface dupla.Se você tiver vários objetos que implementam a mesma interface dupla, somente uma instância de CComTypeInfoHolder é usada.
Hierarquia de herança
T
IDispatchImpl
Requisitos
Cabeçalho: atlcom.h