Bagikan melalui


Kelas EventSource

Mewakili peristiwa non-tangkas. EventSource fungsi anggota menambahkan, menghapus, dan memanggil penanganan aktivitas. Untuk peristiwa yang tangkas, gunakan AgileEventSource.

Sintaks

template<typename TDelegateInterface>
class EventSource;

Parameter

TDelegateInterface
Antarmuka ke delegasi yang mewakili penanganan aktivitas.

Anggota

Konstruktor Publik

Nama Deskripsi
EventSource::EventSource Menginisialisasi instans baru kelas EventSource.

Metode Publik

Nama Deskripsi
EventSource::Add Menambahkan penanganan aktivitas yang diwakili oleh antarmuka delegasi yang ditentukan ke kumpulan penanganan aktivitas untuk objek saat ini EventSource .
EventSource::GetSize Mengambil jumlah penanganan aktivitas yang terkait dengan objek saat ini EventSource .
EventSource::InvokeAll Memanggil setiap penanganan aktivitas yang terkait dengan objek saat ini EventSource menggunakan jenis argumen dan argumen yang ditentukan.
EventSource::Remove Menghapus penanganan aktivitas yang diwakili oleh token pendaftaran peristiwa yang ditentukan dari kumpulan penanganan aktivitas yang terkait dengan objek saat ini EventSource .

Anggota Data yang Dilindungi

Nama Deskripsi
EventSource::addRemoveLock_ Menyinkronkan akses ke array targets_ saat menambahkan, menghapus, atau memanggil penanganan aktivitas.
EventSource::targets_ Array dari satu atau beberapa penanganan aktivitas.
EventSource::targetsPointerLock_ Menyinkronkan akses ke anggota data internal bahkan saat penanganan aktivitas untuk EventSource ini ditambahkan, dihapus, atau dipanggil.

Hierarki Warisan

EventSource

Persyaratan

Header: event.h

Namespace: Microsoft::WRL

EventSource::Add

Menambahkan penanganan aktivitas yang diwakili oleh antarmuka delegasi yang ditentukan ke kumpulan penanganan aktivitas untuk objek saat ini EventSource .

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

Parameter

delegateInterface
Antarmuka ke objek delegasi, yang mewakili penanganan aktivitas.

token
Ketika operasi ini selesai, handel yang mewakili peristiwa. Gunakan token ini sebagai parameter ke metode Remove() untuk membuang penanganan aktivitas.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menunjukkan kesalahan.

EventSource::addRemoveLock_

Menyinkronkan akses ke array targets_ saat menambahkan, menghapus, atau memanggil penanganan aktivitas.

Wrappers::SRWLock addRemoveLock_;

EventSource::EventSource

Menginisialisasi instans baru kelas EventSource.

EventSource();

EventSource::GetSize

Mengambil jumlah penanganan aktivitas yang terkait dengan objek saat ini EventSource .

size_t GetSize() const;

Tampilkan Nilai

Jumlah penanganan aktivitas di targets_.

EventSource::InvokeAll

Memanggil setiap penanganan aktivitas yang terkait dengan objek saat ini EventSource menggunakan jenis argumen dan argumen yang ditentukan.

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

Parameter

T0
Jenis argumen penanganan aktivitas ke-nol.

T1
Jenis argumen penanganan aktivitas pertama.

T2
Jenis argumen penanganan aktivitas kedua.

T3
Jenis argumen penanganan aktivitas ketiga.

T4
Jenis argumen penanganan aktivitas keempat.

T5
Jenis argumen penanganan aktivitas kelima.

T6
Jenis argumen penanganan aktivitas keenam.

T7
Jenis argumen penanganan aktivitas ketujuh.

T8
Jenis argumen penanganan aktivitas kedelapan.

T9
Jenis argumen penanganan aktivitas kesembilan.

arg0
Argumen penanganan aktivitas ke-nol.

arg1
Argumen penanganan aktivitas pertama.

arg2
Argumen penanganan aktivitas kedua.

arg3
Argumen penanganan aktivitas ketiga.

arg4
Argumen penanganan aktivitas keempat.

arg5
Argumen penanganan aktivitas kelima.

arg6
Argumen penanganan aktivitas keenam.

arg7
Argumen penanganan aktivitas ketujuh.

arg8
Argumen penanganan aktivitas kedelapan.

arg9
Argumen penanganan aktivitas kesembilan.

EventSource::Remove

Menghapus penanganan aktivitas yang diwakili oleh token pendaftaran peristiwa yang ditentukan dari kumpulan penanganan aktivitas yang terkait dengan objek saat ini EventSource .

HRESULT Remove(
   EventRegistrationToken token
);

Parameter

token
Handel yang mewakili penanganan aktivitas. Token ini dikembalikan ketika penanganan aktivitas didaftarkan oleh metode Add().

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menunjukkan kesalahan.

Keterangan

Untuk informasi selengkapnya tentang EventRegistrationToken struktur, lihat topik Windows::Foundation::EventRegistrationToken Structure dalam dokumentasi referensi Windows Runtime .

EventSource::targets_

Array dari satu atau beberapa penanganan aktivitas.

ComPtr<Details::EventTargetArray> targets_;

Keterangan

Ketika peristiwa yang diwakili oleh objek saat ini EventSource terjadi, penanganan aktivitas dipanggil.

EventSource::targetsPointerLock_

Menyinkronkan akses ke anggota data internal bahkan saat penanganan aktivitas untuk ini EventSource ditambahkan, dihapus, atau dipanggil.

Wrappers::SRWLock targetsPointerLock_;