Partager via


EventSource Class

Représente un événement non agile. Les fonctions membres d'EventSource ajoutent, suppriment et appellent des gestionnaires d'événements. Pour les événements agiles, utilisez AgileEventSource.

Syntaxe

template<typename TDelegateInterface>
class EventSource;

Paramètres

TDelegateInterface
Interface d’un délégué qui représente un gestionnaire d’événements.

Membres

Constructeurs publics

Nom Description
EventSource ::EventSource Initialise une nouvelle instance de la classe EventSource.

Méthodes publiques

Nom Description
EventSource ::Add Ajoute le gestionnaire d’événements représenté par l’interface déléguée spécifiée à l’ensemble de gestionnaires d’événements pour l’objet actuel EventSource .
EventSource ::GetSize Récupère le nombre de gestionnaires d’événements associés à l’objet actuel EventSource .
EventSource ::InvokeAll Appelle chaque gestionnaire d’événements associé à l’objet actuel EventSource à l’aide des types et arguments d’argument spécifiés.
EventSource ::Remove Supprime le gestionnaire d’événements représenté par le jeton d’inscription d’événement spécifié de l’ensemble de gestionnaires d’événements associés à l’objet actuel EventSource .

Membres de données protégés

Nom Description
EventSource ::addRemoveLock_ Synchronise l’accès au tableau targets_ lors de l’ajout, de la suppression ou de l’appel de gestionnaires d’événements.
EventSource ::targets_ Tableau d’un ou plusieurs gestionnaires d’événements.
EventSource ::targetsPointerLock_ Synchronise l’accès aux membres de données internes même si les gestionnaires d’événements de cette EventSource sont ajoutés, supprimés ou appelés.

Hiérarchie d'héritage

EventSource

Spécifications

En-tête : event.h

Espace de noms : Microsoft::WRL

EventSource ::Add

Ajoute le gestionnaire d’événements représenté par l’interface déléguée spécifiée à l’ensemble de gestionnaires d’événements pour l’objet actuel EventSource .

HRESULT Add(
   _In_ TDelegateInterface* delegateInterface,
   _Out_ EventRegistrationToken* token
);

Paramètres

delegateInterface
Interface d’un objet délégué, qui représente un gestionnaire d’événements.

token
Une fois cette opération terminée, un handle qui représente l’événement. Utilisez ce jeton comme paramètre pour la méthode Remove() pour ignorer le gestionnaire d’événements.

Valeur de retour

S_OK si l'opération réussit. Sinon, une valeur HRESULT indique l'erreur.

EventSource ::addRemoveLock_

Synchronise l’accès au tableau targets_ lors de l’ajout, de la suppression ou de l’appel de gestionnaires d’événements.

Wrappers::SRWLock addRemoveLock_;

EventSource ::EventSource

Initialise une nouvelle instance de la classe EventSource.

EventSource();

EventSource ::GetSize

Récupère le nombre de gestionnaires d’événements associés à l’objet actuel EventSource .

size_t GetSize() const;

Valeur de retour

Nombre de gestionnaires d’événements dans targets_.

EventSource ::InvokeAll

Appelle chaque gestionnaire d’événements associé à l’objet actuel EventSource à l’aide des types et arguments d’argument spécifiés.

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
);

Paramètres

T0
Type de l’argument du gestionnaire d’événements zéro.

T1
Type du premier argument du gestionnaire d’événements.

T2
Type du deuxième argument du gestionnaire d’événements.

T3
Type du troisième argument du gestionnaire d’événements.

T4
Type du quatrième argument du gestionnaire d’événements.

T5
Type du cinquième argument du gestionnaire d’événements.

T6
Type du sixième argument du gestionnaire d’événements.

T7
Type du septième argument du gestionnaire d’événements.

T8
Type du huitième argument du gestionnaire d’événements.

T9
Type du neuvième argument du gestionnaire d’événements.

arg0
Argument du gestionnaire d’événements zéro.

arg1
Premier argument du gestionnaire d’événements.

arg2
Deuxième argument du gestionnaire d’événements.

arg3
Troisième argument du gestionnaire d’événements.

arg4
Quatrième argument du gestionnaire d’événements.

arg5
Cinquième argument du gestionnaire d’événements.

arg6
Sixième argument du gestionnaire d’événements.

arg7
Septième argument du gestionnaire d’événements.

arg8
Huitième argument du gestionnaire d’événements.

arg9
Neuvième argument du gestionnaire d’événements.

EventSource ::Remove

Supprime le gestionnaire d’événements représenté par le jeton d’inscription d’événement spécifié de l’ensemble de gestionnaires d’événements associés à l’objet actuel EventSource .

HRESULT Remove(
   EventRegistrationToken token
);

Paramètres

token
Handle qui représente un gestionnaire d’événements. Ce jeton a été retourné lorsque le gestionnaire d’événements a été inscrit par la méthode Add().

Valeur de retour

S_OK si l'opération réussit. Sinon, une valeur HRESULT indique l'erreur.

Notes

Pour plus d’informations sur la EventRegistrationToken structure, consultez la rubrique Windows ::Foundation ::EventRegistrationToken Structure dans la documentation de référence de Windows Runtime .

EventSource ::targets_

Tableau d’un ou plusieurs gestionnaires d’événements.

ComPtr<Details::EventTargetArray> targets_;

Notes

Lorsque l’événement représenté par l’objet actuel EventSource se produit, les gestionnaires d’événements sont appelés.

EventSource ::targetsPointerLock_

Synchronise l’accès aux membres de données internes même si les gestionnaires d’événements pour cela EventSource sont ajoutés, supprimés ou appelés.

Wrappers::SRWLock targetsPointerLock_;