Aracılığıyla paylaş


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