Allocation des ID WinEvent
Chaque WinEvent est destiné à être utilisé uniquement à des fins spécifiques. L’utilisation d’un WinEvent à des fins inattendues peut entraîner des collisions avec d’autres applications ou le système d’exploitation, ce qui peut entraîner l’instabilité des applications ou du système d’exploitation.
Microsoft a défini plusieurs catégories différentes de WinEvents et, pour chaque catégorie, a défini une ou plusieurs plages de valeurs à utiliser comme ID WinEvent. La plage réservée de la communauté (0xA000— 0xAFFF) est disponible pour les applications qui doivent définir de nouveaux événements WinEvents. L’utilisation de valeurs de cette plage permet de réduire le risque de collisions ; toutefois, les développeurs qui créent de nouveaux WinEvents doivent toujours collaborer pour éviter les collisions entre leurs applications.
Le tableau suivant présente les catégories WinEvent et les plages de valeurs définies pour chaque catégorie.
Catégorie | Gamme | Actuellement en cours d’utilisation | Commentaires |
---|---|---|---|
Événements Microsoft Active Accessibility (Réservé par le système) | 0x0001-0x00FF | 0x0001-0x0020 | ID d’événement EVENT_SYSTEM_* |
Événements Microsoft Active Accessibility (Réservé par le système) | 0x4001-0x40FF | 0x4001-0x4007 | ID d’événement EVENT_CONSOLE_* |
Événements UI Automation (Réservé système) | 0x4E00-0x4EFF | 0x4E20-0x4E33 | ID d’événements UI Automation |
Événements UI Automation (Réservé système) | 0x7500-0x75FF | 0x7530-0x759B | ID d’événements modifiés par la propriété UI Automation |
Événements Microsoft Active Accessibility (Réservé par le système) | 0x8000-0x80FF | 0x8000-0x8015 | ID d’événement EVENT_OBJECT_* |
Réservé OEM | 0x0101-0x01FF | 0x0101-0x0122 | ID d’événement IAccessible2 |
Réservé à la communauté | 0xA000-0xAFFF | Aucun | Réservé aux nouveaux événements définis par les spécifications AIA (Accessibility Interoperability Alliance) |
ATOME | 0xC000-0xFFFF | 0xC000-0xFFFF | Réservé aux événements personnalisés alloués au moment de l’exécution |
Les rubriques suivantes décrivent plus en détail les plages WinEvent.
Événements Microsoft Active Accessibility et UI Automation
Cinq plages d’ID WinEvent sont réservées pour une utilisation par Microsoft Active Accessibility et Microsoft UI Automation. La première plage (0x0001— 0x00FF) est réservée aux événements au niveau du système, généralement utilisée pour décrire les situations affectant toutes les applications du système. La deuxième plage (0x4001—0x40FF) est réservée aux événements spécifiques à la console Windows. Les troisièmes plages (0x4E00-0x4EFF) et quatrième (0x7500 0x75FF) sont destinées à la réflexion des événements UI Automation. Enfin, la cinquième plage (0x8000— 0x80FF) concerne les événements au niveau de l’objet qui se rapportent à des situations spécifiques aux objets au sein d’une application.
Tous les événements Microsoft Active Accessibility et UI Automation sont définis dans les fichiers d’en-tête WinUser.h et UIAutomationClient.h.
Événements réservés OEM
La plage réservée OEM est ouverte à toute personne qui doit utiliser WinEvents comme mécanisme de communication. Les développeurs doivent définir et publier des définitions d’événements avec leurs paramètres (ou également avec les types d’objets associés) pour le traitement des événements afin que des collisions accidentelles d’ID d’événement puissent être évitées. La spécification IAccessible2 utilise une partie de la plage réservée OEM.
Événements réservés à la communauté
La plage réservée de la communauté est destinée aux événements WinEvents spécifiés par l’Alliance d’interopérabilité de l’accessibilité (AIA) pour une utilisation dans l’ensemble du secteur. Les développeurs sont fortement encouragés à définir et publier une spécification officielle avant d’utiliser des valeurs de cette plage.
Événements ATOM
La plage ATOM est réservée aux ID d’événement alloués au moment de l’exécution via l’API d’extensibilité UI Automation. N’utilisez pas les valeurs de la plage ATOM à d’autres fins. L’utilisation de la fonctionGlobalAddAtom avec un GUID de chaîne est la méthode recommandée d’allocation de WinEvents à partir de la plage ATOM.
Utilisation de valeurs à partir d’une plage réservée
En fonction de la spécification WinEvent, les valeurs de la plage réservée système ou toute autre plage non définie ne peuvent pas être utilisées sans réviser le Kit de développement logiciel (SDK). Pour les nouveaux WinEvents, les applications doivent utiliser des valeurs provenant des plages réservées oem ou réservées à la communauté. Avant d’utiliser un nouveau WinEvent, les développeurs sont fortement invités à partager leurs spécifications de manière ouverte et largement, et doivent travailler avec l’Alliance d’interopérabilité de l’accessibilité pour définir des spécifications WinEvent.
Rubriques connexes