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