Alokacja identyfikatorów WinEvent
Każdy element WinEvent ma być używany tylko do określonego celu. Użycie rozwiązania WinEvent do niezamierzonego celu może spowodować kolizje z innymi aplikacjami lub systemem operacyjnym, co może spowodować niestabilne działanie aplikacji lub systemu operacyjnego.
Firma Microsoft zdefiniowała kilka różnych kategorii winEvents i dla każdej kategorii zdefiniowała co najmniej jeden zakres wartości do użycia jako identyfikatory WinEvent. Zakres zarezerwowany społeczności (0xA000 — 0xAFFF) jest dostępny dla aplikacji, które muszą definiować nowe elementy WinEvents. Użycie wartości z tego zakresu pomaga zmniejszyć ryzyko kolizji; jednak deweloperzy, którzy tworzą nowe elementy WinEvents, nadal muszą współpracować, aby uniknąć kolizji między aplikacjami.
W poniższej tabeli przedstawiono kategorie WinEvent i zakresy wartości zdefiniowanych dla każdej kategorii.
Kategoria | Zakres | Obecnie w użyciu | Komentarze |
---|---|---|---|
Zdarzenia microsoft Active Accessibility (System Reserved) | 0x0001-0x00FF | 0x0001-0x0020 | identyfikatory zdarzeń EVENT_SYSTEM_* |
Zdarzenia microsoft Active Accessibility (System Reserved) | 0x4001-0x40FF | 0x4001-0x4007 | identyfikatory zdarzeń EVENT_CONSOLE_* |
Zdarzenia automatyzacji interfejsu użytkownika (zarezerwowane systemu) | 0x4E00-0x4EFF | 0x4E20-0x4E33 | Identyfikatory zdarzeń automatyzacji interfejsu użytkownika |
Zdarzenia automatyzacji interfejsu użytkownika (zarezerwowane systemu) | 0x7500-0x75FF | 0x7530-0x759B | Identyfikatory zdarzeń zmienione przez usługę Automatyzacja interfejsu użytkownika |
Zdarzenia microsoft Active Accessibility (System Reserved) | 0x8000-0x80FF | 0x8000-0x8015 | identyfikatory zdarzeń EVENT_OBJECT_* |
Zarezerwowane producenta OEM | 0x0101-0x01FF | 0x0101-0x0122 | Identyfikatory zdarzeń IAccessible2 |
Zarezerwowana społeczność | 0xA000-0xAFFF | Żaden | Zarezerwowane dla nowych zdarzeń zdefiniowanych przez specyfikacje Accessibility Interoperability Alliance (AIA) |
ATOM | 0xC000-0xFFFF | 0xC000-0xFFFF | Zarezerwowane dla zdarzeń niestandardowych przydzielonych w czasie wykonywania |
W poniższych tematach bardziej szczegółowo opisano zakresy WinEvent.
Zdarzenia automatyzacji interfejsu użytkownika i ułatwień dostępu w usłudze Microsoft Active
Pięć zakresów identyfikatorów WinEvent jest zarezerwowanych do użycia przez usługę Microsoft Active Accessibility i Microsoft UI Automation. Pierwszy zakres (0x0001 — 0x00FF) jest zarezerwowany dla zdarzeń na poziomie systemu, zwykle używany do opisywania sytuacji wpływających na wszystkie aplikacje w systemie. Drugi zakres (0x4001 — 0x40FF) jest zarezerwowany dla zdarzeń specyficznych dla konsoli systemu Windows. Trzeci (0x4E00 — 0x4EFF) i czwarty zakres (0x7500 — 0x75FF) dotyczą odbicia zdarzeń automatyzacji interfejsu użytkownika. Na koniec piąty zakres (0x8000 — 0x80FF) dotyczy zdarzeń na poziomie obiektu odnoszących się do sytuacji specyficznych dla obiektów w jednej aplikacji.
Wszystkie zdarzenia microsoft Active Accessibility and UI Automation są zdefiniowane w plikach nagłówków WinUser.h i UIAutomationClient.h.
Zdarzenia zarezerwowane producenta OEM
Zarezerwowany zakres OEM jest otwarty dla każdego, kto musi używać winEvents jako mechanizmu komunikacji. Deweloperzy powinni definiować i publikować definicje zdarzeń wraz z ich parametrami (lub skojarzonymi typami obiektów) na potrzeby przetwarzania zdarzeń, aby można było uniknąć przypadkowych kolizji identyfikatorów zdarzeń. Specyfikacja IAccessible2 używa części zarezerwowanego zakresu OEM.
Zdarzenia zarezerwowane społeczności
Zakres zarezerwowany wspólnoty jest przeznaczony dla winEvents określonych przez Accessibility Interoperability Alliance (AIA) do użytku w całej branży. Deweloperzy są zdecydowanie zachęcani do definiowania i publikowania oficjalnej specyfikacji przed użyciem wartości z tego zakresu.
Zdarzenia ATOM
Zakres ATOM jest zarezerwowany dla identyfikatorów zdarzeń przydzielonych w czasie wykonywania za pośrednictwem interfejsu API rozszerzalności automatyzacji interfejsu użytkownika. Nie używaj wartości z zakresu ATOM w żadnym innym celu. Użycie funkcji GlobalAddAtom z identyfikatorem GUID ciągu jest zalecaną metodą przydzielania winEvents z zakresu ATOM.
Używanie wartości z zakresu zarezerwowanego
Zgodnie ze specyfikacją WinEvent wartości z zakresu zarezerwowanego systemu lub innych niezdefiniowanych zakresów nie mogą być używane bez zmiany zestawu SDK. W przypadku nowych rozwiązań WinEvents aplikacje powinny używać wartości z zakresów zarezerwowanych OEM lub community Reserved. Przed rozpoczęciem korzystania z nowego rozwiązania WinEvent deweloperzy zdecydowanie zaleca się otwarcie i szeroko udostępniać swoje specyfikacje oraz współpracować z Sojuszem Interoperacyjności ułatwień dostępu w celu zdefiniowania specyfikacji WinEvent.
Tematy pokrewne