Condividi tramite


Funzione NotifyWinEvent (winuser.h)

Segnala al sistema che si è verificato un evento predefinito. Se le applicazioni client hanno registrato una funzione hook per l'evento, il sistema chiama la funzione hook del client.

Sintassi

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

Parametri

[in] event

Tipo: DWORD

Specifica l'evento che si è verificato. Questo valore deve essere una delle costanti dell'evento.

[in] hwnd

Tipo: HWND

Handle nella finestra contenente l'oggetto che ha generato l'evento.

[in] idObject

Tipo: LONG

Identifica l'oggetto che ha generato l'evento. Questo valore è uno degli identificatori di oggetto predefiniti o un valore ID oggetto personalizzato.

[in] idChild

Tipo: LONG

Identifica se l'evento è stato generato da un oggetto o da un elemento figlio dell'oggetto . Se questo valore è CHILDID_SELF, l'evento è stato generato dall'oggetto stesso. Se non CHILDID_SELF, questo valore è l'ID figlio dell'elemento che ha generato l'evento.

Valore restituito

nessuno

Osservazioni

I server chiamano questa funzione per notificare al sistema che si è verificato un evento. Microsoft Active Accessibility verifica se le applicazioni client hanno impostato procedure hook per l'evento e, in tal caso, chiama le procedure hook appropriate.

Se non vengono registrate procedure hook per l'evento, la riduzione delle prestazioni per la chiamata a questa funzione è secondaria.

I server chiamano NotifyWinEvent per annunciare l'evento al sistema dopo che l'evento si è verificato; non devono mai notificare al sistema un evento prima che si sia verificato l'evento.

Quando viene chiamata la routine hook del client, riceve un numero di parametri che descrivono l'evento e l'oggetto che ha generato l'evento. La routine hook usa la funzione AccessibleObjectFromEvent per recuperare un puntatore all'interfaccia IAccessible dell'oggetto che ha generato l'evento.

I server possono ricevere un messaggio WM_GETOBJECT immediatamente dopo aver chiamato questa funzione. Ciò può verificarsi se sono presenti client nel contesto che chiamano AccessibleObjectFromEvent nel callback dell'evento.

Quando i server chiamano questa funzione, devono essere pronti per gestire WM_GETOBJECT, restituire un puntatore di interfaccia IAccessible e gestire uno dei metodi IAccessible .

Nota per gli sviluppatori di server: Quando si chiama NotifyWinEvent, se i client sono in ascolto di tale evento nel contesto, i gestori eventi, che in genere inviano WM_GETOBJECT e chiamano i metodi IAccessible , verranno eseguiti prima che NotifyWinEvent restituisca . Quando chiami NotifyWinEvent, dovresti essere pronto a gestire queste chiamate, se si verificano. Se è necessario eseguire una configurazione aggiuntiva per consentire questa operazione, è necessario farlo prima di chiamare NotifyWinEvent, non dopo.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Componente ridistribuibile Accessibilità attiva 1.3 RDK in Windows NT 4.0 con SP6 e versioni successive e Windows 95
Set di API ext-ms-win-ntuser-server-l1-1-0 (introdotto in Windows 8)

Vedi anche

AccessibleObjectFromEvent

SetWinEventHook

UnHookWinEvent

WinEvents