Compartir a través de


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.