WinEvent Kimliklerinin Ayrılması
Her WinEvent yalnızca belirli bir amaç için kullanılmak üzere tasarlanmıştır. İstenmeyen bir amaç için WinEvent kullanmak, diğer uygulamalarla veya işletim sistemiyle çakışmalara neden olabilir ve bu da uygulamaların veya işletim sisteminin kararsız hale gelmesine neden olabilir.
Microsoft birkaç farklı WinEvent kategorisi tanımlamıştır ve her kategori için WinEvent kimlikleri olarak kullanılmak üzere bir veya daha fazla değer aralığı tanımlamıştır. Topluluk Ayrılmış aralığı (0xA000—0xAFFF) yeni WinEvent'ler tanımlaması gereken uygulamalar için kullanılabilir. Bu aralıktaki değerlerin kullanılması çarpışma riskini azaltmaya yardımcı olur; ancak yeni WinEvent'ler oluşturan geliştiricilerin yine de uygulamaları arasındaki çakışmaları önlemek için işbirliği yapmaları gerekir.
Aşağıdaki tabloda WinEvent kategorileri ve her kategori için tanımlanan değer aralıkları gösterilmektedir.
Kategori | Aralık | Şu anda kullanımda | Yorum |
---|---|---|---|
Microsoft Etkin Erişilebilirlik olayları (Sistem Ayrılmış) | 0x0001-0x00FF | 0x0001-0x0020 | EVENT_SYSTEM_* olay kimlikleri |
Microsoft Etkin Erişilebilirlik olayları (Sistem Ayrılmış) | 0x4001-0x40FF | 0x4001-0x4007 | EVENT_CONSOLE_* olay kimlikleri |
UI Otomasyonu olayları (Sistem Ayrılmış) | 0x4E00-0x4EFF | 0x4E20-0x4E33 | UI Otomasyonu olay kimlikleri |
UI Otomasyonu olayları (Sistem Ayrılmış) | 0x7500-0x75FF | 0x7530-0x759B | UI Otomasyonu özelliği değiştirilmiş olay kimlikleri |
Microsoft Etkin Erişilebilirlik olayları (Sistem Ayrılmış) | 0x8000-0x80FF | 0x8000-0x8015 | EVENT_OBJECT_* olay kimlikleri |
OEM Ayrılmış | 0x0101-0x01FF | 0x0101-0x0122 | IAccessible2 olay kimlikleri |
Topluluk Ayrılmış | 0xA000-0xAFFF | Hiç kimse | Erişilebilirlik Birlikte Çalışabilirlik İttifakı (AIA) belirtimleri tarafından tanımlanan yeni olaylar için ayrılmıştır |
ATOM | 0xC000-0xFFFF | 0xC000-0xFFFF | Çalışma zamanında ayrılan özel olaylar için ayrılmış |
Aşağıdaki konular WinEvent aralıklarını daha ayrıntılı olarak açıklar.
Microsoft Etkin Erişilebilirlik ve UI Otomasyonu Olayları
Beş winEvent kimlik aralığı Microsoft Etkin Erişilebilirlik ve Microsoft UI Otomasyonu tarafından kullanılmak üzere ayrılmıştır. İlk aralık (0x0001—0x00FF) genellikle sistemdeki tüm uygulamaları etkileyen durumları açıklamak için kullanılan sistem düzeyinde olaylar için ayrılmıştır. İkinci aralık (0x4001—0x40FF) Windows konsoluna özgü olaylar için ayrılmıştır. Üçüncü (0x4E00—0x4EFF) ve dördüncü aralıklar (0x7500—0x75FF) UI Otomasyonu olaylarının yansımasına yöneliktir. Son olarak, beşinci aralık (0x8000—0x80FF), bir uygulama içindeki nesnelere özgü durumlarla ilgili nesne düzeyinde olaylar içindir.
Tüm Microsoft Etkin Erişilebilirlik ve UI Otomasyonu olayları WinUser.h ve UIAutomationClient.h üst bilgi dosyalarında tanımlanır.
OEM Ayrılmış Olayları
OEM ayrılmış aralığı, WinEvents'i iletişim mekanizması olarak kullanması gereken herkese açıktır. Geliştiriciler, olay kimliklerinin yanlışlıkla çakışmasını önlemek için olay işleme için kendi parametreleriyle (veya ilişkili nesne türleriyle birlikte) olay tanımları tanımlamalı ve yayımlamalıdır. IAccessible2 belirtimi, OEM ayrılmış aralığının bir bölümünü kullanır.
Topluluk Ayrılmış Olayları
Topluluk Ayrılmış aralığı, Erişilebilirlik Birlikte Çalışabilirlik İttifakı (AIA) tarafından sektör genelinde kullanılmak üzere belirtilen WinEvent'lere yöneliktir. Geliştiricilerin bu aralıktaki değerleri kullanmadan önce resmi bir belirtim tanımlamaları ve yayımlamaları kesinlikle tavsiye edilir.
ATOM Olayları
ATOM aralığı, UI Otomasyonu genişletilebilirlik API'si aracılığıyla çalışma zamanında ayrılan olay kimlikleri için ayrılmıştır. ATOM aralığındaki değerleri başka bir amaç için kullanmayın. GlobalAddAtom işlevini bir dize GUID'i ile kullanmak, ATOM aralığından WinEvents ayırmanın önerilen yöntemidir.
Ayrılmış Aralıktaki Değerleri Kullanma
WinEvent belirtimine göre, Sistem Ayrılmış aralığındaki veya tanımlanmamış başka bir aralıktaki değerler SDK'yı gözden geçirmeden kullanılamaz. Yeni WinEvent'ler için uygulamalar OEM Ayrılmış veya Topluluk Ayrılmış aralıklarından değerler kullanmalıdır. Yeni bir WinEvent kullanmadan önce geliştiricilerin belirtimlerini açık ve geniş bir şekilde paylaşmaları önemle tavsiye edilir ve WinEvent belirtimlerini tanımlamak için Erişilebilirlik Birlikte Çalışabilirlik Birliği ile birlikte çalışmalıdır.
İlgili konular