Clase de IDispEventImpl
Esta clase proporciona implementaciones de los métodos de IDispatch .
![]() |
---|
Esta clase y sus miembros no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución. |
template <
UINT nID,
class T,
const IID* pdiid= &IID_NULL,
const GUID* plibid= &GUID_NULL,
WORD wMajor= 0,
WORD wMinor= 0,
class tihclass= CcomTypeInfoHolder
>
class ATL_NO_VTABLE IDispEventImpl :
public IDispEventSimpleImpl<nID, T, pdiid>
Parámetros
nID
un identificador único para el objeto de origen.Cuando IDispEventImpl es la clase base para un control compuesto, utilice el Id. de recurso de control contenido deseado para este parámetro.en otros casos, utilice un entero positivo arbitrario.T
La clase de usuario, que es derivada de IDispEventImpl.pdiid
El puntero al identificador IID dispinterface de evento implementado por esta clase.Esta interfaz se debe definir en la biblioteca de tipos indicado por plibid, wMajor, y wMinor.plibid
Un puntero a la biblioteca de tipos que define la interfaz de envío al que pdiid.Si el &GUID_NULL, la biblioteca de tipos es carga de compra de componentes de objeto los eventos.wMajor
La versión principal de la biblioteca de tipos.El valor predeterminado es 0.wMinor
La versión secundaria de la biblioteca de tipos.El valor predeterminado es 0.tihclass
la clase utilizada para administrar la información de tipo para T.el valor predeterminado es una clase de CComTypeInfoHolderescrito; sin embargo, puede reemplazar este parámetro de plantilla proporciona una clase de un tipo distinto de CComTypeInfoHolder.
Members
Typedefs públicas
Name |
Descripción |
---|---|
la clase utilizada para administrar la información de tipo.De manera predeterminada, es CComTypeInfoHolder. |
Constructores públicos
Name |
Descripción |
---|---|
el constructor. |
Métodos públicos
Name |
Descripción |
---|---|
establece el índice de la función para el identificador de envío especificado. |
|
Asigna un único miembro y un conjunto opcional de nombres de argumentos a un conjunto correspondiente de identificadores dispid entero. |
|
Recupera información de tipo para un objeto. |
|
recupera el número de interfaces de la información de tipo. |
|
recupera el tipo básico de un tipo definido por el usuario. |
Comentarios
IDispEventImpl proporciona una manera de implementar dispinterface de eventos sin necesidad de proporcionar el código de implementación para cada método o evento en la interfaz.IDispEventImpl proporciona implementaciones de los métodos de IDispatch .Solo necesita proporcionar implementaciones para los eventos que le interese administrar.
IDispEventImpl funciona junto con mapa de receptor de eventos en la clase para distribuir eventos a la función adecuada del controlador.para utilizar esta clase:
Agregue SINK_ENTRY o la macro de SINK_ENTRY_EX el receptor de eventos asigna para cada evento en cada objeto que desea controlar.Al utilizar IDispEventImpl como clase base de un control compuesto, puede llamar a AtlAdviseSinkMap para establecer y para interrumpir la conexión con los orígenes de eventos para todas las entradas en el mapa del receptor de eventos.En otros casos, o para el mayor control, llamada DispEventAdvise para establecer la conexión entre el objeto de origen y la clase base.llamada DispEventUnadvise para interrumpir la conexión.
Debe derivar de IDispEventImpl (con un valor único para nID) para cada objeto para el que necesite controlar eventos.Puede reutilizar esta clase base unadvising con un objeto de origen a continuación que informa de un objeto de origen diferentes, pero el número máximo de objetos de origen se pueden controlar mediante un objeto único al mismo tiempo está limitado por el número de clases base de IDispEventImpl .
IDispEventImpl proporciona la misma funcionalidad que IDispEventSimpleImpl, a menos que obtiene información de tipo sobre la interfaz de una biblioteca de tipos en lugar de teniéndola proporcionado como puntero a una estructura de _ATL_FUNC_INFORMATION .Utilice IDispEventSimpleImpl cuando no tiene una biblioteca de tipos que describe la interfaz de eventos ni la referencia para evitar la sobrecarga asociada al uso de la biblioteca de tipos.
[!NOTA]
IDispEventImpl y IDispEventSimpleImpl proporcionan su propia implementación de IUnknown:: QueryInterface habilitar cada clase base de IDispEventImpl y de IDispEventSimpleImpl para que actúe como identidad COM independiente mientras todavía permite acceso directo a los miembros de clase en el objeto COM principal.
La implementación de CE ATL de los receptores de eventos ActiveX solo admite valores devueltos de HRESULT tipo o void de los métodos de control de eventos; cualquier otro valor devuelto es no admitidos y su comportamiento es indefinido.
Para obtener más información, vea admitir IDispEventImpl.
Jerarquía de herencia
_IDispEvent
_IDispEventLocator
IDispEventImpl
Requisitos
encabezado: atlcom.h
Vea también
Referencia
Estructura de _ATL_FUNC_INFORMATION