clase EventSource
Representa un evento no ágil. Las funciones miembro EventSource
agregan, quitan e invocan controladores de eventos. Para eventos ágiles, use AgileEventSource.
Sintaxis
template<typename TDelegateInterface>
class EventSource;
Parámetros
TDelegateInterface
Interfaz de un delegado que representa un controlador de eventos.
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
EventSource::EventSource | Inicializa una nueva instancia de la clase EventSource . |
Métodos públicos
Nombre | Descripción |
---|---|
EventSource::Add | Anexa el controlador de eventos representado por la interfaz de delegado especificada al conjunto de controladores de eventos para el objeto EventSource actual. |
EventSource::GetSize | Recupera el número de controladores de eventos asociados al objeto EventSource actual. |
EventSource::InvokeAll | Llama a cada controlador de eventos asociado al objeto EventSource actual mediante los tipos de argumento y los argumentos especificados. |
EventSource::Remove | Elimina el controlador de eventos representado por el token de registro de eventos especificado del conjunto de controladores de eventos asociados al objeto EventSource actual. |
Miembros de datos protegidos
Nombre | Descripción |
---|---|
EventSource::addRemoveLock_ | Sincroniza el acceso a la matriz targets_ al agregar, quitar o invocar controladores de eventos. |
EventSource::targets_ | Matriz de uno o varios controladores de eventos. |
EventSource::targetsPointerLock_ | Sincroniza el acceso a miembros de datos internos incluso mientras se agregan, quitan o invocan controladores de eventos para este eventSource. |
Jerarquía de herencia
EventSource
Requisitos
Encabezado: event.h
Espacio de nombres: Microsoft::WRL
EventSource::Add
Anexa el controlador de eventos representado por la interfaz de delegado especificada al conjunto de controladores de eventos para el objeto EventSource
actual.
HRESULT Add(
_In_ TDelegateInterface* delegateInterface,
_Out_ EventRegistrationToken* token
);
Parámetros
delegateInterface
Interfaz de un objeto delegado, que representa un controlador de eventos.
token
Cuando se completa esta operación, un identificador que representa el evento. Use este token como parámetro para el método Remove() para descartar el controlador de eventos.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el error.
EventSource::addRemoveLock_
Sincroniza el acceso a la matriz targets_ al agregar, quitar o invocar controladores de eventos.
Wrappers::SRWLock addRemoveLock_;
EventSource::EventSource
Inicializa una nueva instancia de la clase EventSource
.
EventSource();
EventSource::GetSize
Recupera el número de controladores de eventos asociados al objeto EventSource
actual.
size_t GetSize() const;
Valor devuelto
Número de controladores de eventos en targets_.
EventSource::InvokeAll
Llama a cada controlador de eventos asociado al objeto EventSource
actual mediante los tipos de argumento y los argumentos especificados.
void InvokeAll();
template <
typename T0
>
void InvokeAll(
T0arg0
);
template <
typename T0,
typename T1
>
void InvokeAll(
T0arg0,
T1arg1
);
template <
typename T0,
typename T1,
typename T2
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2
);
template <
typename T0,
typename T1,
typename T2,
typename T3
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3
);
template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3,
T4arg4
);
template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3,
T4arg4,
T5arg5
);
template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3,
T4arg4,
T5arg5,
T6arg6
);
template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3,
T4arg4,
T5arg5,
T6arg6,
T7arg7
);
template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3,
T4arg4,
T5arg5,
T6arg6,
T7arg7,
T8arg8
);
template <
typename T0,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9
>
void InvokeAll(
T0arg0,
T1arg1,
T2arg2,
T3arg3,
T4arg4,
T5arg5,
T6arg6,
T7arg7,
T8arg8,
T9arg9
);
Parámetros
T0
Tipo del argumento del controlador de eventos cero.
T1
Tipo del primer argumento del controlador de eventos.
T2
Tipo del segundo argumento del controlador de eventos.
T3
Tipo del tercer argumento del controlador de eventos.
T4
Tipo del cuarto argumento del controlador de eventos.
T5
Tipo del quinto argumento del controlador de eventos.
T6
Tipo del sexto argumento del controlador de eventos.
T7
Tipo del séptimo argumento del controlador de eventos.
T8
Tipo del octavo argumento del controlador de eventos.
T9
Tipo del noveno argumento del controlador de eventos.
arg0
Argumento del controlador de eventos cero.
arg1
Primer argumento del controlador de eventos.
arg2
Segundo argumento del controlador de eventos.
arg3
Tercer argumento del controlador de eventos.
arg4
Cuarto argumento del controlador de eventos.
arg5
Quinto argumento del controlador de eventos.
arg6
Sexto argumento del controlador de eventos.
arg7
Séptimo argumento del controlador de eventos.
arg8
Octavo argumento de controlador de eventos.
arg9
Noveno argumento del controlador de eventos.
EventSource::Remove
Elimina el controlador de eventos representado por el token de registro de eventos especificado del conjunto de controladores de eventos asociados al objeto EventSource
actual.
HRESULT Remove(
EventRegistrationToken token
);
Parámetros
token
Identificador que representa un controlador de eventos. Este token se devolvió cuando el método Add() registró el controlador de eventos.
Valor devuelto
S_OK si se realiza correctamente; de lo contrario, un HRESULT que indica el error.
Comentarios
Para obtener más información sobre la estructura EventRegistrationToken
, vea el tema Estructura Windows::Foundation::EventRegistrationToken en la documentación de referencia de Windows Runtime.
EventSource::targets_
Matriz de uno o varios controladores de eventos.
ComPtr<Details::EventTargetArray> targets_;
Comentarios
Cuando se produce el evento representado por el objeto EventSource
actual, se llama a los controladores de eventos.
EventSource::targetsPointerLock_
Sincroniza el acceso a miembros de datos internos incluso mientras se agregan, quitan o invocan controladores de eventos para este EventSource
.
Wrappers::SRWLock targetsPointerLock_;