Fonction NotifyWinEvent (winuser.h)

Signale au système qu'un événement prédéfini s'est produit. Si des applications clientes ont inscrit une fonction de hook pour l’événement, le système appelle la fonction hook du client.

Syntaxe

void NotifyWinEvent(
  [in] DWORD event,
  [in] HWND  hwnd,
  [in] LONG  idObject,
  [in] LONG  idChild
);

Paramètres

[in] event

Type : DWORD

Spécifie l’événement qui s’est produit. Cette valeur doit être l’une des constantes d’événement.

[in] hwnd

Type : HWND

Gérez la fenêtre qui contient l’objet qui a généré l’événement.

[in] idObject

Type : LONG

Identifie l’objet qui a généré l’événement. Cette valeur est l’un des identificateurs d’objet prédéfinis ou une valeur d’ID d’objet personnalisé.

[in] idChild

Type : LONG

Identifie si l’événement a été généré par un objet ou par un élément enfant de l’objet. Si cette valeur est CHILDID_SELF, l’événement a été généré par l’objet lui-même. Si elle n’est pas CHILDID_SELF, cette valeur est l’ID enfant de l’élément qui a généré l’événement.

Valeur de retour

None

Remarques

Les serveurs appellent cette fonction pour informer le système qu’un événement s’est produit. Microsoft Active Accessibility vérifie si des applications clientes ont défini des procédures de hook pour l’événement et, si c’est le cas, appelle les procédures de hook appropriées.

Si aucune procédure de hook n’est inscrite pour l’événement, la pénalité de performances pour l’appel de cette fonction est mineure.

Les serveurs appellent NotifyWinEvent pour annoncer l’événement au système une fois que l’événement s’est produit ; ils ne doivent jamais informer le système d’un événement avant que l’événement ne se produise.

Lorsque la procédure de hook du client est appelée, elle reçoit un certain nombre de paramètres qui décrivent l’événement et l’objet qui a généré l’événement. La procédure de hook utilise la fonction AccessibleObjectFromEvent pour récupérer un pointeur vers l’interface IAccessible de l’objet qui a généré l’événement.

Les serveurs peuvent recevoir un message WM_GETOBJECT immédiatement après l’appel de cette fonction. Cela peut se produire s’il existe des clients en contexte qui appellent AccessibleObjectFromEvent dans le rappel d’événement.

Lorsque les serveurs appellent cette fonction, ils doivent être prêts à gérer WM_GETOBJECT, retourner un pointeur d’interface IAccessible et gérer l’une des méthodes IAccessible .

Remarque à l’attention des développeurs de serveurs : Lorsque vous appelez NotifyWinEvent, si des clients écoutent cet événement dans le contexte, leurs gestionnaires d’événements, qui envoient généralement des WM_GETOBJECT et appellent des méthodes IAccessible , s’exécutent avant le retour de NotifyWinEvent . Lorsque vous appelez NotifyWinEvent, vous devez être prêt à gérer ces appels, s’ils se produisent. Si vous devez effectuer une configuration supplémentaire pour permettre cela, vous devez le faire avant d’appeler NotifyWinEvent, et non après.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Composant redistribuable Active Accessibility 1.3 RDK sur Windows NT 4.0 avec SP6 et versions ultérieures et Windows 95
Ensemble d’API ext-ms-win-ntuser-server-l1-1-0 (introduit dans Windows 8)

Voir aussi

AccessibleObjectFromEvent

SetWinEventHook

UnHookWinEvent

WinEvents