Bagikan melalui


Alokasi ID WinEvent

Setiap WinEvent dimaksudkan untuk digunakan hanya untuk tujuan tertentu. Menggunakan WinEvent untuk tujuan yang tidak diinginkan dapat menyebabkan tabrakan dengan aplikasi lain atau sistem operasi, yang dapat menyebabkan aplikasi atau sistem operasi menjadi tidak stabil.

Microsoft telah menentukan beberapa kategori WinEvents yang berbeda dan, untuk setiap kategori, telah mendefinisikan satu atau beberapa rentang nilai untuk digunakan sebagai ID WinEvent. Rentang Community Reserved (0xA000—0xAFFF) tersedia untuk aplikasi yang perlu menentukan WinEvents baru. Menggunakan nilai dari rentang ini membantu mengurangi risiko tabrakan; namun, pengembang yang membuat WinEvents baru masih perlu berkolaborasi untuk menghindari tabrakan di antara aplikasi mereka.

Tabel berikut ini memperlihatkan kategori WinEvent dan rentang nilai yang ditentukan untuk setiap kategori.

Golongan Lingkup Saat ini sedang digunakan Komentar
Peristiwa Aksesibilitas Aktif Microsoft (Dicadangkan Sistem) 0x00FF 0x0001 0x0001-0x0020 ID peristiwa EVENT_SYSTEM_*
Peristiwa Aksesibilitas Aktif Microsoft (Dicadangkan Sistem) 0x4001-0x40FF 0x4007 0x4001 ID peristiwa EVENT_CONSOLE_*
Peristiwa Automasi UI (Dicadangkan Sistem) 0x4E00-0x4EFF 0x4E33 0x4E20 ID peristiwa Automation UI
Peristiwa Automasi UI (Dicadangkan Sistem) 0x75FF 0x7500 0x7530-0x759B ID peristiwa yang diubah properti UI Automation
Peristiwa Aksesibilitas Aktif Microsoft (Dicadangkan Sistem) 0x8000-0x80FF 0x8015 0x8000 ID peristiwa EVENT_OBJECT_*
OEM Dicadangkan 0x01FF 0x0101 0x0101-0x0122 ID peristiwa IAccessible2
Komunitas Dicadangkan 0xAFFF 0xA000 Tidak Dicadangkan untuk peristiwa baru yang ditentukan oleh spesifikasi Accessibility Interoperability Alliance (AIA)
ATOM 0xC000-0xFFFF 0xC000-0xFFFF Dicadangkan untuk peristiwa kustom yang dialokasikan pada runtime

 

Topik berikut menjelaskan rentang WinEvent secara lebih rinci.

Microsoft Active Accessibility dan UI Automation Events

Lima rentang ID WinEvent dicadangkan untuk digunakan oleh Microsoft Active Accessibility dan Microsoft UI Automation. Rentang pertama (0x0001—0x00FF) dicadangkan untuk peristiwa tingkat sistem, biasanya digunakan untuk menjelaskan situasi yang memengaruhi semua aplikasi dalam sistem. Rentang kedua (0x4001—0x40FF) dicadangkan untuk peristiwa khusus konsol Windows. Rentang ketiga (0x4E00—0x4EFF) dan keempat (0x7500—0x75FF) adalah untuk mencerminkan peristiwa Otomatisasi UI. Terakhir, rentang kelima (0x8000—0x80FF) adalah untuk peristiwa tingkat objek yang berkaitan dengan situasi khusus untuk objek dalam satu aplikasi.

Semua peristiwa Microsoft Active Accessibility dan UI Automation didefinisikan dalam file header WinUser.h dan UIAutomationClient.h.

Peristiwa Yang Dipesan OEM

Rentang cadangan OEM terbuka untuk siapa saja yang perlu menggunakan WinEvents sebagai mekanisme komunikasi. Pengembang harus menentukan dan menerbitkan definisi peristiwa bersama dengan parameternya (atau juga dengan jenis objek terkait) untuk pemrosesan peristiwa sehingga tabrakan ID peristiwa yang tidak disengaja dapat dihindari. Spesifikasi IAccessible2 menggunakan bagian dari rentang cadangan OEM.

Acara Yang Dipesan Komunitas

Rentang Community Reserved adalah untuk WinEvents yang ditentukan oleh Accessibility Interoperability Alliance (AIA) untuk digunakan di seluruh industri. Pengembang sangat didorong untuk menentukan dan menerbitkan spesifikasi resmi sebelum menggunakan nilai dari rentang ini.

Peristiwa ATOM

Rentang ATOM dicadangkan untuk ID peristiwa yang dialokasikan pada runtime melalui API ekstensibilitas Automation UI. Jangan gunakan nilai dari rentang ATOM untuk tujuan lain. Menggunakan fungsiGlobalAddAtom dengan GUID string adalah metode yang direkomendasikan untuk mengalokasikan WinEvents dari rentang ATOM.

Menggunakan Nilai dari Rentang Yang Dipesan

Menurut spesifikasi WinEvent, nilai dari rentang Cadangan Sistem, atau rentang lain yang tidak ditentukan, tidak dapat digunakan tanpa merevisi SDK. Untuk WinEvents baru, aplikasi harus menggunakan nilai dari rentang OEM Reserved atau Community Reserved. Sebelum menggunakan WinEvent baru, pengembang sangat disarankan untuk berbagi spesifikasi mereka secara terbuka dan luas, dan harus bekerja dengan Aliansi Interoperabilitas Aksesibilitas untuk menentukan spesifikasi WinEvent.

WinEvents

Aliansi Interoperabilitas Aksesibilitas