Přidělení ID WinEventu
Každý winEvent se má použít jenom pro konkrétní účel. Použití winEventu pro nezamýšlený účel může způsobit kolize s jinými aplikacemi nebo operačním systémem, což může způsobit nestabilitu aplikací nebo operačního systému.
Společnost Microsoft definovala několik různých kategorií WinEvents a pro každou kategorii definovala jednu nebo více rozsahů hodnot pro použití jako ID winEventu. Rozsah rezervovaných pro komunitu (0xA000 – 0xAFFF) je k dispozici pro aplikace, které potřebují definovat nové winEventy. Použití hodnot z tohoto rozsahu pomáhá snížit riziko kolizí; Vývojáři, kteří vytvářejí nové winEventy, ale stále potřebují spolupracovat, aby se vyhnuli kolizím mezi svými aplikacemi.
Následující tabulka uvádí kategorie WinEvent a rozsahy hodnot definovaných pro každou kategorii.
Kategorie | Rozmezí | Aktuálně se používá | Komentáře |
---|---|---|---|
Události Microsoft Active Accessibility (rezervované systém) | 0x0001 0x00FF | 0x0020 0x0001 | ID událostí EVENT_SYSTEM_* |
Události Microsoft Active Accessibility (rezervované systém) | 0x4001 0x40FF | 0x4001 0x4007 | ID událostí EVENT_CONSOLE_* |
Události automatizace uživatelského rozhraní (rezervované systémem) | 0x4EFF 0x4E00 | 0x4E20-0x4E33 | ID událostí automatizace uživatelského rozhraní |
Události automatizace uživatelského rozhraní (rezervované systémem) | 0x75FF 0x7500 | 0x759B 0x7530 | ID událostí změněných vlastností automatizace uživatelského rozhraní |
Události Microsoft Active Accessibility (rezervované systém) | 0x8000 0x80FF | 0x8000-0x8015 | ID událostí EVENT_OBJECT_* |
Rezervovaná OEM | 0x0101 0x01FF | 0x0101 0x0122 | ID událostí IAccessible2 |
Rezervovaná komunita | 0xA000-0xAFFF | Žádný | Vyhrazeno pro nové události definované specifikacemi AIA (Accessibility Interoperability Alliance) |
ATOM | 0xC000-0xFFFF | 0xC000-0xFFFF | Vyhrazeno pro vlastní události přidělené za běhu |
Následující témata popisují rozsahy WinEvent podrobněji.
Události automatizace uživatelského rozhraní a přístupnosti v Microsoftu
Pět rozsahů ID WinEventu je vyhrazeno pro použití službou Microsoft Active Accessibility a Microsoft UI Automation. První rozsah (0x0001 – 0x00FF) je vyhrazený pro události na úrovni systému, obvykle se používá k popisu situací ovlivňujících všechny aplikace v systému. Druhý rozsah (0x4001 – 0x40FF) je vyhrazený pro události specifické pro konzolu Windows. Třetí (0x4E00 – 0x4EFF) a čtvrté oblasti (0x7500 – 0x75FF) jsou určené pro reflexi událostí automatizace uživatelského rozhraní. Nakonec je pátý rozsah (0x8000 – 0x80FF) pro události na úrovni objektů, které se týkají situací specifických pro objekty v jedné aplikaci.
Všechny události microsoft Active Accessibility a automatizace uživatelského rozhraní jsou definovány v souborech hlaviček WinUser.h a UIAutomationClient.h.
Rezervované události OEM
Vyhrazený rozsah OEM je otevřený všem uživatelům, kteří potřebují používat WinEvents jako komunikační mechanismus. Vývojáři by měli definovat a publikovat definice událostí spolu s jejich parametry (nebo také s přidruženými typy objektů) pro zpracování událostí, aby se zabránilo náhodným kolizím ID událostí. Specifikace IAccessible2 používá část rezervovaného rozsahu OEM.
Rezervované události komunity
Rozsah rezervovaných pro komunitu je určen pro WinEventy určené organizací AIA (Accessibility Interoperability Alliance) pro použití v celém odvětví. Vývojáři důrazně doporučujeme definovat a publikovat oficiální specifikaci před použitím hodnot z tohoto rozsahu.
Události ATOM
Rozsah ATOM je vyhrazený pro ID událostí přidělených za běhu prostřednictvím rozhraní API pro rozšiřitelnost automatizace uživatelského rozhraní. Nepoužívejte hodnoty z oblasti ATOM pro žádný jiný účel. Použití funkce GlobalAddAtom s identifikátorem GUID řetězce je doporučená metoda přidělování WinEvents z rozsahu ATOM.
Použití hodnot z rezervovaného rozsahu
Podle specifikace WinEvent nelze hodnoty z rezervovaného rozsahu systému nebo jiné nedefinované oblasti použít bez revizí sady SDK. U nových prostředí WinEvents by aplikace měly používat hodnoty z rezervovaných rozsahů OEM nebo rezervovaných oblastí komunity. Před použitím nového programu WinEvent se vývojářům důrazně doporučuje, aby své specifikace sdíleli veřejně a široce a měli by spolupracovat s Aliancemi pro interoperabilitu přístupnosti a definovat specifikace WinEvent.
Související témata