Compartilhar via


Alocação de IDs winEvent

Cada WinEvent destina-se a ser usado apenas para uma finalidade específica. O uso de 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 winEvent. O intervalo Reservado à Comunidade (0xA000 — 0xAFFF) está disponível para aplicativos que precisam definir novos WinEvents. O uso de valores desse 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 Intervalo Atualmente em uso Comentários
Eventos de Acessibilidade Ativa da Microsoft (Sistema Reservado) 0x00FF 0x0001 0x0001-0x0020 IDs de evento EVENT_SYSTEM_*
Eventos de Acessibilidade Ativa da Microsoft (Sistema Reservado) 0x40FF 0x4001 0x4001-0x4007 IDs de evento EVENT_CONSOLE_*
eventos Automação da Interface do Usuário (Sistema Reservado) 0x4E00-0x4EFF 0x4E20-0x4E33 Automação da Interface do Usuário IDs de evento
eventos Automação da Interface do Usuário (Sistema Reservado) 0x7500-0x75FF 0x759B 0x7530 Automação da Interface do Usuário IDs de evento alteradas por propriedade
Eventos de Acessibilidade Ativa da Microsoft (Sistema Reservado) 0x8000-0x80FF 0x8000-0x8015 IDs de evento EVENT_OBJECT_*
OEM Reservado 0x0101-0x01FF 0x0101-0x0122 IDs de evento IAccessible2
Comunidade Reservada 0xA000-0xAFFF Nenhum Reservado para novos eventos definidos pelas especificações da AIA (Accessibility Interoperability Alliance)
ATOM 0xC000-0xFFFF 0xC000-0xFFFF Reservado para eventos personalizados alocados no runtime

 

Os tópicos a seguir descrevem os intervalos WinEvent com mais detalhes.

Microsoft Active Accessibility and Automação da Interface do Usuário Events

Cinco intervalos de IDs winEvent são reservados para uso pelo Microsoft Active Accessibility e microsoft Automação da Interface do Usuário. O primeiro intervalo (0x0001 — 0x00FF) é reservado para eventos no nível do sistema, normalmente usados para descrever situações que afetam todos os aplicativos no sistema. O segundo intervalo (0x4001 — 0x40FF) é reservado para eventos específicos do console do Windows. O terceiro (0x4E00 — 0x4EFF) e os quatro 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 no nível do objeto que pertencem a situações específicas de objetos dentro de um aplicativo.

Todos os eventos de Acessibilidade Ativa da Microsoft e Automação da Interface do Usuário são definidos nos arquivos de cabeçalho WinUser.h e UIAutomationClient.h.

Eventos reservados do OEM

O intervalo reservado OEM está aberto para qualquer pessoa que precise usar WinEvents como um mecanismo de comunicação. Os desenvolvedores devem definir e publicar definições de evento junto com seus parâmetros (ou também com tipos de objeto associados) para processamento de eventos para que colisões acidentais de IDs de evento possam ser evitadas. A especificação IAccessible2 usa parte do intervalo reservado do OEM.

Eventos reservados da comunidade

O intervalo Reservado à Comunidade é para WinEvents especificado pela AIA (Accessibility Interoperability Alliance) para uso em todo o setor. Os desenvolvedores são altamente incentivados a definir e publicar uma especificação oficial antes de usar valores desse intervalo.

Eventos ATOM

O intervalo ATOM é reservado para IDs de evento alocadas em runtime por meio da API de extensibilidade Automação da Interface do Usuário. Não use 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 para 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 de qualquer outro intervalo não definido não podem ser usados sem revisar o SDK. Para novos WinEvents, os aplicativos devem usar valores dos intervalos OEM Reservado ou Reservado à Comunidade. Antes de usar um novo WinEvent, os desenvolvedores são altamente aconselhados a compartilhar suas especificações de forma aberta e ampla e devem trabalhar com a Accessibility Interoperability Alliance para definir as especificações do WinEvent.

WinEvents

Aliança de Interoperabilidade de Acessibilidade