Udostępnij za pośrednictwem


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.

WinEvents

Accessibility Interoperability Alliance