EventSource — Klasa
Reprezentuje zdarzenie niezwinne. EventSource
funkcje składowe dodają, usuń i wywołują programy obsługi zdarzeń. W przypadku zdarzeń agile użyj metody AgileEventSource.
Składnia
template<typename TDelegateInterface>
class EventSource;
Parametry
TDelegateInterface
Interfejs delegata, który reprezentuje procedurę obsługi zdarzeń.
Członkowie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
EventSource::EventSource | Inicjuje nowe wystąpienie klasy EventSource . |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
EventSource::Add | Dołącza program obsługi zdarzeń reprezentowany przez określony interfejs delegata do zestawu programów obsługi zdarzeń dla bieżącego EventSource obiektu. |
EventSource::GetSize | Pobiera liczbę programów obsługi zdarzeń skojarzonych z bieżącym EventSource obiektem. |
EventSource::InvokeAll | Wywołuje każdą procedurę obsługi zdarzeń skojarzoną z bieżącym EventSource obiektem przy użyciu określonych typów argumentów i argumentów. |
EventSource::Remove | Usuwa program obsługi zdarzeń reprezentowany przez określony token rejestracji zdarzeń z zestawu programów obsługi zdarzeń skojarzonych z bieżącym EventSource obiektem. |
Chronione składowe danych
Nazwa/nazwisko | opis |
---|---|
EventSource::addRemoveLock_ | Synchronizuje dostęp do tablicy targets_ podczas dodawania, usuwania lub wywoływania procedur obsługi zdarzeń. |
EventSource::targets_ | Tablica co najmniej jednego programu obsługi zdarzeń. |
EventSource::targetsPointerLock_ | Synchronizuje dostęp do wewnętrznych elementów członkowskich danych, nawet gdy programy obsługi zdarzeń dla tego źródła zdarzeń są dodawane, usuwane lub wywoływane. |
Hierarchia dziedziczenia
EventSource
Wymagania
Nagłówek: event.h
Przestrzeń nazw: Microsoft::WRL
EventSource::Add
Dołącza program obsługi zdarzeń reprezentowany przez określony interfejs delegata do zestawu programów obsługi zdarzeń dla bieżącego EventSource
obiektu.
HRESULT Add(
_In_ TDelegateInterface* delegateInterface,
_Out_ EventRegistrationToken* token
);
Parametry
delegateInterface
Interfejs obiektu delegata, który reprezentuje procedurę obsługi zdarzeń.
Tokenu
Po zakończeniu tej operacji dojście reprezentujące zdarzenie. Użyj tego tokenu jako parametru do metody Remove(), aby odrzucić procedurę obsługi zdarzeń.
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie hrESULT wskazujący błąd.
EventSource::addRemoveLock_
Synchronizuje dostęp do tablicy targets_ podczas dodawania, usuwania lub wywoływania procedur obsługi zdarzeń.
Wrappers::SRWLock addRemoveLock_;
EventSource::EventSource
Inicjuje nowe wystąpienie klasy EventSource
.
EventSource();
EventSource::GetSize
Pobiera liczbę programów obsługi zdarzeń skojarzonych z bieżącym EventSource
obiektem.
size_t GetSize() const;
Wartość zwracana
Liczba programów obsługi zdarzeń w targets_.
EventSource::InvokeAll
Wywołuje każdą procedurę obsługi zdarzeń skojarzoną z bieżącym EventSource
obiektem przy użyciu określonych typów argumentów i argumentów.
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
);
Parametry
T0
Typ argumentu procedury obsługi zdarzeń zeroth.
T1
Typ pierwszego argumentu procedury obsługi zdarzeń.
T2
Typ drugiego argumentu procedury obsługi zdarzeń.
T3
Typ trzeciego argumentu procedury obsługi zdarzeń.
T4
Typ czwartego argumentu procedury obsługi zdarzeń.
T5
Typ piątego argumentu procedury obsługi zdarzeń.
T6
Typ szóstego argumentu procedury obsługi zdarzeń.
T7
Typ siódmego argumentu procedury obsługi zdarzeń.
T8
Typ ósmego argumentu procedury obsługi zdarzeń.
T9
Typ dziewiątego argumentu procedury obsługi zdarzeń.
arg0
Argument obsługi zdarzeń zeroth.
arg1
Pierwszy argument procedury obsługi zdarzeń.
arg2
Drugi argument procedury obsługi zdarzeń.
arg3
Trzeci argument procedury obsługi zdarzeń.
arg4
Czwarty argument procedury obsługi zdarzeń.
arg5
Piąty argument procedury obsługi zdarzeń.
arg6
Szósty argument procedury obsługi zdarzeń.
arg7
Siódmy argument procedury obsługi zdarzeń.
arg8
Ósmy argument procedury obsługi zdarzeń.
arg9
Dziewiąty argument procedury obsługi zdarzeń.
EventSource::Remove
Usuwa program obsługi zdarzeń reprezentowany przez określony token rejestracji zdarzeń z zestawu programów obsługi zdarzeń skojarzonych z bieżącym EventSource
obiektem.
HRESULT Remove(
EventRegistrationToken token
);
Parametry
Tokenu
Dojście reprezentujące procedurę obsługi zdarzeń. Ten token został zwrócony, gdy program obsługi zdarzeń został zarejestrowany przez metodę Add().
Wartość zwracana
S_OK w przypadku powodzenia; w przeciwnym razie hrESULT wskazujący błąd.
Uwagi
Aby uzyskać więcej informacji na temat EventRegistrationToken
struktury, zobacz temat Struktura systemu Windows::Foundation::EventRegistrationToken w dokumentacji referencyjnej środowisko wykonawcze systemu Windows.
EventSource::targets_
Tablica co najmniej jednego programu obsługi zdarzeń.
ComPtr<Details::EventTargetArray> targets_;
Uwagi
Gdy wystąpi zdarzenie reprezentowane przez bieżący EventSource
obiekt, wywoływane są programy obsługi zdarzeń.
EventSource::targetsPointerLock_
Synchronizuje dostęp do wewnętrznych elementów członkowskich danych nawet wtedy, gdy programy obsługi zdarzeń są EventSource
dodawane, usuwane lub wywoływane.
Wrappers::SRWLock targetsPointerLock_;
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla