EventSource Class
Representa um evento não agile. As funções membro EventSource
adicionam, removem e invocam manipuladores de eventos. Para eventos agile, use AgileEventSource.
Sintaxe
template<typename TDelegateInterface>
class EventSource;
Parâmetros
TDelegateInterface
A interface para um delegado que representa um manipulador de eventos.
Membros
Construtores públicos
Nome | Descrição |
---|---|
EventSource::EventSource | Inicializa uma nova instância da classe EventSource . |
Métodos públicos
Nome | Descrição |
---|---|
EventSource::Add | Acrescenta o manipulador de eventos representado pela interface de delegado especificada para o conjunto de manipuladores de eventos do objeto EventSource atual. |
EventSource::GetSize | Recupera o número de manipuladores de eventos associados ao objeto EventSource atual. |
EventSource::InvokeAll | Chama cada manipulador de eventos associado ao objeto EventSource atual usando os tipos de argumentos e argumentos especificados. |
EventSource::Remove | Exclui o manipulador de eventos representado pelo token de registro de evento especificado do conjunto de manipuladores de eventos associados ao objeto EventSource atual. |
Membros de dados protegidos
Nome | Descrição |
---|---|
EventSource::addRemoveLock_ | Sincroniza o acesso à matriz targets_ ao adicionar, remover ou invocar manipuladores de eventos. |
EventSource::targets_ | Uma matriz de um ou mais manipuladores de eventos. |
EventSource::targetsPointerLock_ | Sincroniza o acesso a membros de dados internos, mesmo enquanto manipuladores de eventos para esse EventSource estão sendo adicionados, removidos ou invocados. |
Hierarquia de herança
EventSource
Requisitos
Cabeçalho: event.h
Namespace: Microsoft::WRL
EventSource::Add
Acrescenta o manipulador de eventos representado pela interface de delegado especificada para o conjunto de manipuladores de eventos do objeto EventSource
atual.
HRESULT Add(
_In_ TDelegateInterface* delegateInterface,
_Out_ EventRegistrationToken* token
);
Parâmetros
delegateInterface
A interface para um objeto delegado, que representa um manipulador de eventos.
token
Quando essa operação é concluída, um identificador que representa o evento. Use esse token como o parâmetro para o método Remove() para descartar o manipulador de eventos.
Valor de retorno
S_OK se tiver êxito; caso contrário, um HRESULT que indica o erro.
EventSource::addRemoveLock_
Sincroniza o acesso à matriz targets_ ao adicionar, remover ou invocar manipuladores de eventos.
Wrappers::SRWLock addRemoveLock_;
EventSource::EventSource
Inicializa uma nova instância da classe EventSource
.
EventSource();
EventSource::GetSize
Recupera o número de manipuladores de eventos associados ao objeto EventSource
atual.
size_t GetSize() const;
Valor de retorno
O número de manipuladores de eventos em targets_.
EventSource::InvokeAll
Chama cada manipulador de eventos associado ao objeto EventSource
atual usando os tipos de argumentos e 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
O tipo do argumento do manipulador de eventos de ordinal zero.
T1
O tipo do primeiro argumento do manipulador de eventos.
T2
O tipo do segundo argumento do manipulador de eventos.
T3
O tipo do terceiro argumento do manipulador de eventos.
T4
O tipo do quarto argumento do manipulador de eventos.
T5
O tipo do quinto argumento do manipulador de eventos.
T6
O tipo do sexto argumento do manipulador de eventos.
T7
O tipo do sétimo argumento do manipulador de eventos.
T8
O tipo do oitavo argumento do manipulador de eventos.
T9
O tipo do nono argumento do manipulador de eventos.
arg0
O argumento do manipulador de eventos de ordinal zero.
arg1
O primeiro argumento do manipulador de eventos.
arg2
O segundo argumento do manipulador de eventos.
arg3
O terceiro argumento do manipulador de eventos.
arg4
O quarto argumento do manipulador de eventos.
arg5
O quinto argumento do manipulador de eventos.
arg6
O sexto argumento do manipulador de eventos.
arg7
O sétimo argumento do manipulador de eventos.
arg8
O oitavo argumento do manipulador de eventos.
arg9
O nono argumento do manipulador de eventos.
EventSource::Remove
Exclui o manipulador de eventos representado pelo token de registro de evento especificado do conjunto de manipuladores de eventos associados ao objeto EventSource
atual.
HRESULT Remove(
EventRegistrationToken token
);
Parâmetros
token
Um identificador que representa um manipulador de eventos. Esse token foi retornado quando o manipulador de eventos foi registrado pelo método Add().
Valor de retorno
S_OK se tiver êxito; caso contrário, um HRESULT que indica o erro.
Comentários
Para obter mais informações sobre a estrutura EventRegistrationToken
, confira o tópico Estrutura Windows::Foundation::EventRegistrationToken na documentação de referência do Windows Runtime.
EventSource::targets_
Uma matriz de um ou mais manipuladores de eventos.
ComPtr<Details::EventTargetArray> targets_;
Comentários
Quando o evento representado pelo objeto EventSource
atual ocorre, os manipuladores de eventos são chamados.
EventSource::targetsPointerLock_
Sincroniza o acesso a membros de dados internos, mesmo enquanto manipuladores de eventos para esse EventSource
estão sendo adicionados, removidos ou invocados.
Wrappers::SRWLock targetsPointerLock_;