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)

Weitere Informationen

AccessibleObjectFromEvent

SetWinEventHook

UnHookWinEvent

WinEvents