Partilhar via


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.

WinEvents

Aliança de Interoperabilidade da Acessibilidade