Zuordnung von WinEvent-IDs
Jedes WinEvent soll nur für einen bestimmten Zweck verwendet werden. Die Verwendung eines WinEvents für einen unbeabsichtigten Zweck kann zu Kollisionen mit anderen Anwendungen oder dem Betriebssystem führen, was dazu führen kann, dass die Anwendungen oder das Betriebssystem instabil werden.
Microsoft hat mehrere verschiedene Kategorien von WinEvents definiert und für jede Kategorie einen oder mehrere Wertebereiche definiert, die als WinEvent-IDs verwendet werden. Der Community Reserved-Bereich (0xA000 – 0xAFFF) ist für Anwendungen verfügbar, die neue WinEvents definieren müssen. Die Verwendung von Werten aus diesem Bereich trägt dazu bei, das Risiko von Kollisionen zu verringern; Entwickler, die neue WinEvents erstellen, müssen jedoch weiterhin zusammenarbeiten, um Konflikte zwischen ihren Anwendungen zu vermeiden.
In der folgenden Tabelle sind die WinEvent-Kategorien und die Wertebereiche aufgeführt, die für jede Kategorie definiert sind.
Kategorie | Bereich | Derzeit in Gebrauch | Kommentare |
---|---|---|---|
Microsoft Active Accessibility-Ereignisse (System Reserviert) | 0x0001-0x00FF | 0x0001-0x0020 | EVENT_SYSTEM_*-Ereignis-IDs |
Microsoft Active Accessibility-Ereignisse (System Reserviert) | 0x4001-0x40FF | 0x4001-0x4007 | EVENT_CONSOLE_*-Ereignis-IDs |
Benutzeroberflächenautomatisierungs-Ereignisse (System Reserviert) | 0x4E00-0x4EFF | 0x4E20-0x4E33 | Benutzeroberflächenautomatisierungs-Ereignis-IDs |
Benutzeroberflächenautomatisierungs-Ereignisse (System Reserviert) | 0x7500-0x75FF | 0x7530-0x759B | Ereignis-IDs für die Benutzeroberflächenautomatisierung |
Microsoft Active Accessibility-Ereignisse (System Reserviert) | 0x8000-0x80FF | 0x8000-0x8015 | EVENT_OBJECT_*-Ereignis-IDs |
OEM reserviert | 0x0101-0x01FF | 0x0101-0x0122 | IAccessible2-Ereignis-IDs |
Community reserviert | 0xA000-0xAFFF | Nichts | Reserviert für neue Ereignisse, die von den Spezifikationen der Accessibility Interoperability Alliance (AIA) definiert sind |
ATOM | 0xC000-0xFFFF | 0xC000-0xFFFF | Reserviert für benutzerdefinierte Ereignisse, die zur Laufzeit zugewiesen wurden |
In den folgenden Themen werden die WinEvent-Bereiche ausführlicher beschrieben.
Microsoft Active Accessibility and UI Automation Events
Fünf Bereiche von WinEvent-IDs sind für die Verwendung durch Microsoft Active Accessibility und microsoft UI Automation reserviert. Der erste Bereich (0x0001 – 0x00FF) ist für Ereignisse auf Systemebene reserviert, die normalerweise zum Beschreiben von Situationen verwendet werden, die sich auf alle Anwendungen im System auswirken. Der zweite Bereich (0x4001 – 0x40FF) ist für Windows-konsolenspezifische Ereignisse reserviert. Die dritten Bereiche (0x4E00 – 0x4EFF) und vierte Bereiche (0x7500 – 0x75FF) dienen zur Reflexion von Benutzeroberflächenautomatisierungsereignissen. Schließlich gilt der fünfte Bereich (0x8000 – 0x80FF) für Ereignisse auf Objektebene, die sich auf Situationen beziehen, die für Objekte innerhalb einer Anwendung spezifisch sind.
Alle Microsoft Active Accessibility- und Benutzeroberflächenautomatisierungs-Ereignisse werden in den Headerdateien "WinUser.h" und "UIAutomationClient.h" definiert.
RESERVIERTe OEM-Ereignisse
Der reservierte OEM-Bereich ist für jeden offen, der WinEvents als Kommunikationsmechanismus verwenden muss. Entwickler sollten Ereignisdefinitionen zusammen mit ihren Parametern (oder auch mit zugehörigen Objekttypen) für die Ereignisverarbeitung definieren und veröffentlichen, damit versehentliche Kollisionen von Ereignis-IDs vermieden werden können. Die IAccessible2-Spezifikation verwendet einen Teil des reservierten OEM-Bereichs.
Reservierte Communityereignisse
Der Bereich "Community Reserved" richtet sich an WinEvents, die von der Accessibility Interoperability Alliance (AIA) für die branchenübergreifende Verwendung angegeben werden. Entwickler werden dringend ermutigt, eine offizielle Spezifikation zu definieren und zu veröffentlichen, bevor Sie Werte aus diesem Bereich verwenden.
ATOM-Ereignisse
Der ATOM-Bereich ist für Ereignis-IDs reserviert, die zur Laufzeit über die Erweiterbarkeits-API für die Benutzeroberflächenautomatisierung zugewiesen werden. Verwenden Sie die Werte aus dem ATOM-Bereich nicht für andere Zwecke. Die Verwendung der GlobalAddAtom--Funktion mit einer Zeichenfolgen-GUID ist die empfohlene Methode zum Zuordnen von WinEvents aus dem ATOM-Bereich.
Verwenden von Werten aus einem reservierten Bereich
Gemäß der WinEvent-Spezifikation können Werte aus dem reservierten Systembereich oder einem anderen nicht definierten Bereich nicht verwendet werden, ohne das SDK zu überarbeiten. Für neue WinEvents sollten Anwendungen Werte aus den Bereichen OEM Reserved oder Community Reserved verwenden. Bevor Sie ein neues WinEvent verwenden, sollten Entwickler ihre Spezifikationen offen und umfassend teilen und mit der Accessibility Interoperability Alliance zusammenarbeiten, um WinEvent-Spezifikationen zu definieren.
Verwandte Themen