NotifyWinEvent-Funktion (winuser.h)
Signalisiert dem System, dass ein vordefiniertes Ereignis aufgetreten ist. Wenn Clientanwendungen eine Hookfunktion für das Ereignis registriert haben, ruft das System die Hookfunktion des Clients auf.
Syntax
void NotifyWinEvent(
[in] DWORD event,
[in] HWND hwnd,
[in] LONG idObject,
[in] LONG idChild
);
Parameter
[in] event
Typ: DWORD
Gibt das aufgetretene Ereignis an. Dieser Wert muss eine der Ereigniskonstanten sein.
[in] hwnd
Typ: HWND
Handle für das Fenster, das das Objekt enthält, das das Ereignis generiert hat.
[in] idObject
Typ: LONG
Identifiziert das Objekt, das das Ereignis generiert hat. Dieser Wert ist entweder einer der vordefinierten Objektbezeichner oder ein benutzerdefinierter Objekt-ID-Wert.
[in] idChild
Typ: LONG
Gibt an, ob das Ereignis von einem -Objekt oder von einem untergeordneten Element des -Objekts generiert wurde. Wenn dieser Wert CHILDID_SELF ist, wurde das Ereignis vom Objekt selbst generiert. Wenn nicht CHILDID_SELF, ist dieser Wert die untergeordnete ID des Elements, das das Ereignis generiert hat.
Rückgabewert
Keine
Bemerkungen
Server rufen diese Funktion auf, um das System zu benachrichtigen, dass ein Ereignis aufgetreten ist. Microsoft Active Accessibility überprüft, ob Clientanwendungen Hookprozeduren für das Ereignis festgelegt haben, und ruft, falls ja, die entsprechenden Hookprozeduren auf.
Wenn keine Hookprozeduren für das Ereignis registriert werden, ist die Leistungseinbuße für den Aufruf dieser Funktion gering.
Server rufen NotifyWinEvent auf, um das Ereignis an das System anzukündigen, nachdem das Ereignis aufgetreten ist. sie dürfen das System nie über ein Ereignis benachrichtigen, bevor das Ereignis aufgetreten ist.
Wenn die Hookprozedur des Clients aufgerufen wird, empfängt sie eine Reihe von Parametern, die das Ereignis und das Objekt beschreiben, das das Ereignis generiert hat. Die Hookprozedur verwendet die AccessibleObjectFromEvent-Funktion , um einen Zeiger auf die IAccessible-Schnittstelle des Objekts abzurufen, das das Ereignis generiert hat.
Server erhalten möglicherweise unmittelbar nach dem Aufruf dieser Funktion eine WM_GETOBJECT Nachricht. Dies kann passieren, wenn kontextbezogene Clients vorhanden sind, die AccessibleObjectFromEvent im Ereignisrückruf aufrufen.
Wenn Server diese Funktion aufrufen, müssen sie bereit sein, WM_GETOBJECT zu verarbeiten, einen IAccessible-Schnittstellenzeiger zurückzugeben und jede der IAccessible-Methoden zu verarbeiten.
Hinweis für Serverentwickler: Wenn Sie NotifyWinEvent aufrufen, werden die Ereignishandler, die in der Regel WM_GETOBJECT senden und IAccessible-Methoden aufrufen, ausgeführt, bevor NotifyWinEvent zurückgegeben wird, wenn Clients dieses Ereignis kontextintern überwachen. Wenn Sie NotifyWinEvent aufrufen, sollten Sie darauf vorbereitet sein, diese Aufrufe zu verarbeiten, falls sie auftreten. Wenn Sie ein zusätzliches Setup durchführen müssen, um dies zu ermöglichen, sollten Sie dies vor dem Aufrufen von NotifyWinEvent und nicht danach tun.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
Verteilbare Komponente | Active Accessibility 1.3 RDK unter Windows NT 4.0 mit SP6 und höher und Windows 95 |
APIs | ext-ms-win-ntuser-server-l1-1-0 (eingeführt in Windows 8) |