Поделиться через


Выделение идентификаторов WinEvent

Каждое WinEvent предназначено только для конкретной цели. Использование WinEvent для непреднамеренного назначения может привести к конфликтам с другими приложениями или операционной системой, что может привести к нестабильной работе приложений или операционной системы.

Корпорация Майкрософт определила несколько различных категорий WinEvents и для каждой категории определила один или несколько диапазонов значений для использования в качестве идентификаторов WinEvent. Зарезервированный диапазон сообщества (0xA000 — 0xAFFF) доступен для приложений, которым необходимо определить новые winEvents. Использование значений из этого диапазона помогает снизить риск конфликтов; Однако разработчикам, которые создают новые winEvents, по-прежнему необходимо совместно работать, чтобы избежать конфликтов между их приложениями.

В следующей таблице показаны категории WinEvent и диапазоны значений, определенных для каждой категории.

Категория Диапазон В настоящее время используется Комментарии
События microsoft Active Accessibility (зарезервированная система) 0x0001-0x00FF 0x0001-0x0020 идентификаторы событий EVENT_SYSTEM_*
События microsoft Active Accessibility (зарезервированная система) 0x4001-0x40FF 0x4001-0x4007 идентификаторы событий EVENT_CONSOLE_*
События автоматизации пользовательского интерфейса (зарезервированная система) 0x4E00-0x4EFF 0x4E20-0x4E33 Идентификаторы событий автоматизации пользовательского интерфейса
События автоматизации пользовательского интерфейса (зарезервированная система) 0x7500-0x75FF 0x7530-0x759B Измененные идентификаторы событий службы автоматизации пользовательского интерфейса
События microsoft Active Accessibility (зарезервированная система) 0x8000-0x80FF 0x8000-0x8015 идентификаторы событий EVENT_OBJECT_*
Зарезервировано OEM 0x0101-0x01FF 0x0101-0x0122 Идентификаторы событий IAccessible2
Зарезервировано сообществом 0xA000-0xAFFF Никакой Зарезервировано для новых событий, определенных спецификациями Альянса взаимодействия специальных возможностей (AIA)
АТОМ 0xC000-0xFFFF 0xC000-0xFFFF Зарезервировано для пользовательских событий, выделенных во время выполнения

 

В следующих разделах подробно описываются диапазоны WinEvent.

События службы "Специальные возможности Майкрософт" и "Автоматизация пользовательского интерфейса"

Пять диапазонов идентификаторов WinEvent зарезервированы для использования microsoft Active Accessibility и службы автоматизации пользовательского интерфейса Майкрософт. Первый диапазон (0x0001 — 0x00FF) зарезервирован для событий на уровне системы, обычно используется для описания ситуаций, влияющих на все приложения в системе. Второй диапазон (0x4001 — 0x40FF) зарезервирован для событий консоли Windows. Третий (0x4E00—0x4EFF) и четвертый диапазоны (0x7500— 0x75FF) предназначены для отражения событий автоматизации пользовательского интерфейса. Наконец, пятый диапазон (0x8000 — 0x80FF) предназначен для событий уровня объектов, относящихся к ситуациям, относящимся к объектам в одном приложении.

Все события Microsoft Active Accessy и автоматизации пользовательского интерфейса определяются в файлах заголовков WinUser.h и UIAutomationClient.h.

Зарезервированные события OEM

Зарезервированный диапазон OEM открыт для всех, кто должен использовать WinEvents в качестве механизма коммуникации. Разработчики должны определять и публиковать определения событий вместе с их параметрами (или связанными типами объектов) для обработки событий, чтобы избежать случайных столкновений идентификаторов событий. Спецификация IAccessible2 использует часть зарезервированного диапазона OEM.

Зарезервированные события сообщества

Зарезервированный диапазон сообщества предназначен для WinEvents, указанных альянсом по взаимодействию с специальными возможностями (AIA) для использования в отрасли. Разработчикам настоятельно рекомендуется определить и опубликовать официальную спецификацию перед использованием значений из этого диапазона.

События ATOM

Диапазон ATOM зарезервирован для идентификаторов событий, выделенных во время выполнения через API расширения службы автоматизации пользовательского интерфейса. Не используйте значения из диапазона ATOM для любой другой цели. Использование функции GlobalAddAtom со строковым GUID — это рекомендуемый метод выделения WinEvents из диапазона ATOM.

Использование значений из зарезервированного диапазона

В соответствии со спецификацией WinEvent значения из системного зарезервированного диапазона или любого другого неопределяемого диапазона нельзя использовать без изменения пакета SDK. Для новых приложений WinEvents следует использовать значения из зарезервированных или зарезервированных диапазонов сообщества OEM. Прежде чем использовать новый WinEvent, разработчикам настоятельно рекомендуется поделиться своими спецификациями открыто и широко и работать с Альянсом по взаимодействию со специальными возможностями для определения спецификаций WinEvent.

WinEvents

Альянс по взаимодействию со специальными возможностями