EventSource Sınıfı
Çevik olmayan bir olayı temsil eder. EventSource
üye işlevleri olay işleyicileri ekler, kaldırır ve çağırır. Çevik olaylar için AgileEventSource kullanın.
Sözdizimi
template<typename TDelegateInterface>
class EventSource;
Parametreler
TDelegateInterface
Bir olay işleyicisini temsil eden bir temsilci arabirimi.
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
EventSource::EventSource | EventSource sınıfının yeni bir örneğini başlatır. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
EventSource::Add | Belirtilen temsilci arabirimi tarafından temsil edilen olay işleyicisini geçerli EventSource nesne için olay işleyicileri kümesine ekler. |
EventSource::GetSize | Geçerli EventSource nesneyle ilişkili olay işleyicilerinin sayısını alır. |
EventSource::InvokeAll | Belirtilen bağımsız değişken türlerini ve bağımsız değişkenlerini kullanarak geçerli EventSource nesneyle ilişkili her olay işleyicisini çağırır. |
EventSource::Remove | Belirtilen olay kayıt belirteci tarafından temsil edilen olay işleyicisini geçerli EventSource nesneyle ilişkili olay işleyicileri kümesinden siler. |
Korumalı Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
EventSource::addRemoveLock_ | Olay işleyicileri eklerken, kaldırırken veya çağırırken targets_ dizisine erişimi eşitler. |
EventSource::targets_ | Bir veya daha fazla olay işleyicisi dizisi. |
EventSource::targetsPointerLock_ | Bu EventSource için olay işleyicileri eklenirken, kaldırılırken veya çağrılırken bile iç veri üyelerine erişimi eşitler. |
Devralma Hiyerarşisi
EventSource
Gereksinimler
Üst bilgi: event.h
Ad Alanı: Microsoft::WRL
EventSource::Add
Belirtilen temsilci arabirimi tarafından temsil edilen olay işleyicisini geçerli EventSource
nesne için olay işleyicileri kümesine ekler.
HRESULT Add(
_In_ TDelegateInterface* delegateInterface,
_Out_ EventRegistrationToken* token
);
Parametreler
delegateInterface
Bir olay işleyicisini temsil eden temsilci nesnesinin arabirimi.
jeton
Bu işlem tamamlandığında, olayı temsil eden bir tanıtıcı. Olay işleyicisini atmak için Remove() yönteminin parametresi olarak bu belirteci kullanın.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı gösteren bir HRESULT.
EventSource::addRemoveLock_
Olay işleyicileri eklerken, kaldırırken veya çağırırken targets_ dizisine erişimi eşitler.
Wrappers::SRWLock addRemoveLock_;
EventSource::EventSource
EventSource
sınıfının yeni bir örneğini başlatır.
EventSource();
EventSource::GetSize
Geçerli EventSource
nesneyle ilişkili olay işleyicilerinin sayısını alır.
size_t GetSize() const;
Dönüş Değeri
targets_ olay işleyicilerinin sayısı.
EventSource::InvokeAll
Belirtilen bağımsız değişken türlerini ve bağımsız değişkenlerini kullanarak geçerli EventSource
nesneyle ilişkili her olay işleyicisini çağırır.
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
);
Parametreler
T0
Sıfırıncı olay işleyicisi bağımsız değişkeninin türü.
T1
İlk olay işleyici bağımsız değişkeninin türü.
T2
İkinci olay işleyici bağımsız değişkeninin türü.
T3
Üçüncü olay işleyici bağımsız değişkeninin türü.
T4
Dördüncü olay işleyici bağımsız değişkeninin türü.
T5
Beşinci olay işleyici bağımsız değişkeninin türü.
T6
Altıncı olay işleyici bağımsız değişkeninin türü.
T7
Yedinci olay işleyici bağımsız değişkeninin türü.
T8
Sekizinci olay işleyici bağımsız değişkeninin türü.
T9
Dokuzuncu olay işleyici bağımsız değişkeninin türü.
arg0
Sıfırıncı olay işleyici bağımsız değişkeni.
arg1
İlk olay işleyici bağımsız değişkeni.
arg2
İkinci olay işleyici bağımsız değişkeni.
arg3
Üçüncü olay işleyici bağımsız değişkeni.
arg4
Dördüncü olay işleyici bağımsız değişkeni.
arg5
Beşinci olay işleyici bağımsız değişkeni.
arg6
Altıncı olay işleyici bağımsız değişkeni.
arg7
Yedinci olay işleyicisi bağımsız değişkeni.
arg8
Sekizinci olay işleyici bağımsız değişkeni.
arg9
Dokuzuncu olay işleyici bağımsız değişkeni.
EventSource::Remove
Belirtilen olay kayıt belirteci tarafından temsil edilen olay işleyicisini geçerli EventSource
nesneyle ilişkili olay işleyicileri kümesinden siler.
HRESULT Remove(
EventRegistrationToken token
);
Parametreler
jeton
Olay işleyicisini temsil eden tanıtıcı. Olay işleyicisi Add() yöntemi tarafından kaydedildiğinde bu belirteç döndürüldü.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı gösteren bir HRESULT.
Açıklamalar
Yapı hakkında EventRegistrationToken
daha fazla bilgi için, Windows Çalışma Zamanı başvuru belgelerindeki Windows::Foundation::EventRegistrationToken Yapısı konusuna bakın.
EventSource::targets_
Bir veya daha fazla olay işleyicisi dizisi.
ComPtr<Details::EventTargetArray> targets_;
Açıklamalar
Geçerli EventSource
nesne tarafından temsil edilen olay gerçekleştiğinde, olay işleyicileri çağrılır.
EventSource::targetsPointerLock_
Bunun EventSource
için olay işleyicileri eklenirken, kaldırılırken veya çağrılırken bile iç veri üyelerine erişimi eşitler.
Wrappers::SRWLock targetsPointerLock_;