Clase DeferrableEventArgs
Clase de plantilla usada para los tipos de argumento de evento de los aplazamientos.
Sintaxis
template <typename TEventArgsInterface, typename TEventArgsClass>
class DeferrableEventArgs : public TEventArgsInterface;
Parámetros
TEventArgsInterface
El tipo de interfaz que declara los argumentos de un evento diferido.
TEventArgsClass
Clase que implementa TEventArgsInterface.
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
DeferrableEventArgs::GetDeferral | Obtiene una referencia al objeto Deferral que representa un evento diferido. |
DeferrableEventArgs::InvokeAllFinished | Se llama para indicar que se ha completado todo el procesamiento para controlar un evento diferido. |
Comentarios
Las instancias de esta clase se pasan a los controladores de eventos para eventos diferidos. Los parámetros de plantilla representan una interfaz que define los detalles de los argumentos de evento de un tipo específico de evento diferido y una clase que implementa esa interfaz.
La clase aparece como el primer argumento de un controlador de eventos para un evento diferido. Puede llamar al método GetDeferral para obtener el objeto Deferral desde el que puede obtener toda la información relativa al evento diferido. Tras completar el control de eventos, debe llamar a Complete en el objeto Aplazamiento. A continuación, debe llamar a InvokeAllFinished al final del método de controlador de eventos, lo que garantiza que la finalización de todos los eventos diferidos se comunique correctamente.
Requisitos
Encabezado: event.h
Espacio de nombres: Microsoft::WRL
DeferrableEventArgs::GetDeferral
Obtiene una referencia al objeto Deferral que representa un evento diferido.
HRESULT GetDeferral([out, retval] Windows::Foundation::IDeferral** result)
Parámetros
result
Un puntero que hará referencia al objeto Deferral cuando se complete la llamada.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el error.
DeferrableEventArgs::InvokeAllFinished
Se llama para indicar que se ha completado todo el procesamiento para controlar un evento diferido.
void InvokeAllFinished()
Comentarios
Debe llamar a este método después de que el origen del evento llame a InvokeAll. Llamar a este método evita que se realicen futuros aplazamientos y obliga al controlador de finalización a ejecutarse si no se realizaron aplazamientos.