Alocação de IDs WinEvent
Cada WinEvent destina-se a ser usado apenas para uma finalidade específica. Usar um WinEvent para uma finalidade não intencional pode causar colisões com outros aplicativos ou o sistema operacional, o que pode fazer com que os aplicativos ou o sistema operacional se tornem instáveis.
A Microsoft definiu várias categorias diferentes de WinEvents e, para cada categoria, definiu um ou mais intervalos de valores para uso como IDs de WinEvent. O intervalo Reservado da Comunidade (0xA000—0xAFFF) está disponível para aplicativos que precisam definir novos WinEvents. A utilização de valores deste intervalo ajuda a reduzir o risco de colisões; no entanto, os desenvolvedores que criam novos WinEvents ainda precisam colaborar para evitar colisões entre seus aplicativos.
A tabela a seguir mostra as categorias WinEvent e os intervalos de valores definidos para cada categoria.
Categoria | Gama | Atualmente em uso | Observações |
---|---|---|---|
Eventos do Microsoft Ative Accessibility (Sistema Reservado) | 0x0001-0x00FF | 0x0001-0x0020 | EVENT_SYSTEM_* IDs de evento |
Eventos do Microsoft Ative Accessibility (Sistema Reservado) | 0x4001-0x40FF | 0x4001-0x4007 | EVENT_CONSOLE_* IDs de evento |
Eventos de automação da interface do usuário (sistema reservado) | 0x4E00-0x4EFF | 0x4E20-0x4E33 | IDs de eventos de automação da interface do usuário |
Eventos de automação da interface do usuário (sistema reservado) | 0x7500-0x75FF | 0x7530-0x759B | IDs de eventos alterados pela propriedade da Automação da Interface do Usuário |
Eventos do Microsoft Ative Accessibility (Sistema Reservado) | 0x8000-0x80FF | 0x8000-0x8015 | EVENT_OBJECT_* IDs de evento |
OEM Reservado | 0x0101-0x01FF | 0x0101-0x0122 | IDs de evento IAccessible2 |
Comunidade reservada | 0xA000-0xAFFF | Nenhum | Reservado para novos eventos definidos pelas especificações da Accessibility Interoperability Alliance (AIA) |
ÁTOMO | 0xC000-0xFFFF | 0xC000-0xFFFF | Reservado para eventos personalizados alocados em tempo de execução |
Os tópicos a seguir descrevem os intervalos WinEvent com mais detalhes.
Eventos de acessibilidade ativa da Microsoft e automação da interface do usuário
Cinco intervalos de IDs WinEvent são reservados para uso pelo Microsoft Ative Accessibility e Microsoft UI Automation. O primeiro intervalo (0x0001—0x00FF) é reservado para eventos no nível do sistema, normalmente usado para descrever situações que afetam todos os aplicativos no sistema. O segundo intervalo (0x4001—0x40FF) está reservado para eventos específicos da consola Windows. O terceiro (0x4E00—0x4EFF) e o quarto intervalos (0x7500—0x75FF) são para o reflexo de eventos de automação da interface do usuário. Por fim, o quinto intervalo (0x8000—0x80FF) é para eventos de nível de objeto que pertencem a situações específicas de objetos dentro de um aplicativo.
Todos os eventos Microsoft Ative Accessibility e UI Automation são definidos nos arquivos de cabeçalho WinUser.h e UIAutomationClient.h.
Eventos reservados OEM
O intervalo reservado OEM está aberto a qualquer pessoa que precise usar WinEvents como um mecanismo de comunicação. Os desenvolvedores devem definir e publicar definições de eventos juntamente com seus parâmetros (ou também com tipos de objetos associados) para processamento de eventos para que colisões acidentais de IDs de eventos possam ser evitadas. A especificação IAccessible2 usa parte do intervalo reservado OEM.
Eventos Reservados da Comunidade
O intervalo Reservado da Comunidade é para WinEvents especificado pela Accessibility Interoperability Alliance (AIA) para uso em toda a indústria. Os desenvolvedores são fortemente encorajados a definir e publicar uma especificação oficial antes de usar valores desse intervalo.
Eventos ATOM
O intervalo ATOM é reservado para IDs de evento que são alocados em tempo de execução por meio da API de extensibilidade de automação da interface do usuário. Não utilize os valores do intervalo ATOM para qualquer outra finalidade. Usar a função GlobalAddAtom com um GUID de cadeia de caracteres é o método recomendado de alocar WinEvents do intervalo ATOM.
Usando valores de um intervalo reservado
De acordo com a especificação WinEvent, os valores do intervalo Reservado do Sistema, ou qualquer outro intervalo não definido, não podem ser usados sem a revisão do SDK. Para novos WinEvents, os aplicativos devem usar valores dos intervalos OEM Reservado ou Comunidade Reservada. Antes de usar um novo WinEvent, os desenvolvedores são fortemente aconselhados a compartilhar suas especificações aberta e amplamente, e devem trabalhar com a Accessibility Interoperability Alliance para definir as especificações do WinEvent.
Tópicos relacionados