Allocazione di ID WinEvent

Ogni Evento WinEvent deve essere usato solo per uno scopo specifico. L'uso di un evento WinEvent per uno scopo imprevisto può causare conflitti con altre applicazioni o con il sistema operativo, che può causare l'instabilità delle applicazioni o del sistema operativo.

Microsoft ha definito diverse categorie di WinEvent e, per ogni categoria, ha definito uno o più intervalli di valori da usare come ID WinEvent. L'intervallo riservato community (0xA000, 0xAFFF) è disponibile per le applicazioni che devono definire nuovi eventi WinEvent. L'uso di valori di questo intervallo consente di ridurre il rischio di collisioni; Tuttavia, gli sviluppatori che creano nuovi eventi WinEvent devono comunque collaborare per evitare conflitti tra le applicazioni.

La tabella seguente illustra le categorie WinEvent e gli intervalli di valori definiti per ogni categoria.

Category Intervallo Attualmente in uso Commenti
Eventi di Microsoft Active Accessibility (riservato al sistema) 0x0001-0x00FF 0x0001-0x0020 ID evento EVENT_SYSTEM_*
Eventi di Microsoft Active Accessibility (riservato al sistema) 0x4001-0x40FF 0x4001-0x4007 ID evento EVENT_CONSOLE_*
eventi Automazione interfaccia utente (riservato dal sistema) 0x4E00-0x4EFF 0x4E20-0x4E33 ID evento Automazione interfaccia utente
eventi Automazione interfaccia utente (riservato dal sistema) 0x7500-0x75FF 0x7530-0x759B ID evento Automazione interfaccia utente modificato dalla proprietà
Eventi di Microsoft Active Accessibility (riservato al sistema) 0x8000-0x80FF 0x8000-0x8015 ID evento EVENT_OBJECT_*
OEM riservato 0x0101-0x01FF 0x0101-0x0122 ID evento IAccessible2
Community riservata 0xA000-0xAFFF Nessuno Riservato per nuovi eventi definiti dalle specifiche di Accessibility Interoperability Alliance (AIA)
ATOM 0xC000-0xFFFF 0xC000-0xFFFF Riservato per gli eventi personalizzati allocati in fase di esecuzione

 

Gli argomenti seguenti descrivono in modo più dettagliato gli intervalli WinEvent.

Microsoft Active Accessibility and Automazione interfaccia utente Events

Cinque intervalli di ID WinEvent sono riservati per l'uso da parte di Microsoft Active Accessibility e Microsoft Automazione interfaccia utente. Il primo intervallo (0x0001, 0x00FF) è riservato agli eventi a livello di sistema, in genere usati per descrivere le situazioni che interessano tutte le applicazioni nel sistema. Il secondo intervallo (0x4001- 0x40FF) è riservato agli eventi specifici della console di Windows. Il terzo (0x4E00, 0x4EFF) e il quarto intervallo (0x7500, 0x75FF) sono destinati alla riflessione degli eventi Automazione interfaccia utente. Infine, il quinto intervallo (0x8000, 0x80FF) riguarda gli eventi a livello di oggetto che riguardano situazioni specifiche per gli oggetti all'interno di un'applicazione.

Tutti gli eventi Microsoft Active Accessibility e Automazione interfaccia utente sono definiti nei file di intestazione WinUser.h e UIAutomationClient.h.

Eventi riservati OEM

L'intervallo riservato OEM è aperto a chiunque debba usare WinEvents come meccanismo di comunicazione. Gli sviluppatori devono definire e pubblicare definizioni di eventi insieme ai relativi parametri (o anche ai tipi di oggetto associati) per l'elaborazione degli eventi in modo che sia possibile evitare conflitti accidentali di ID evento. La specifica IAccessible2 usa parte dell'intervallo riservato OEM.

Eventi riservati della community

L'intervallo Community Reserved è per WinEvents specificato da Accessibility Interoperability Alliance (AIA) per l'uso in tutto il settore. Gli sviluppatori sono fortemente invitati a definire e pubblicare una specifica ufficiale prima di usare i valori di questo intervallo.

Eventi ATOM

L'intervallo ATOM è riservato agli ID evento allocati in fase di esecuzione tramite l'API di estendibilità Automazione interfaccia utente. Non utilizzare i valori dell'intervallo ATOM per altri scopi. L'uso della funzione GlobalAddAtom con un GUID stringa è il metodo consigliato per l'allocazione di WinEvents dall'intervallo ATOM.

Uso di valori da un intervallo riservato

In base alla specifica WinEvent, i valori dell'intervallo System Reserved o qualsiasi altro intervallo non definito non possono essere usati senza rivedere l'SDK. Per i nuovi eventi WinEvent, le applicazioni devono usare i valori degli intervalli oem riservati o riservati della community. Prima di usare un nuovo WinEvent, gli sviluppatori sono fortemente invitati a condividere le specifiche apertamente e ampiamente e dovrebbero collaborare con Accessibility Interoperability Alliance per definire specifiche WinEvent.

WinEvents

Accessibility Interoperability Alliance