Funzioni hook out-of-context
L'elenco seguente illustra gli aspetti principali delle funzioni hook out-of-context:
- Le funzioni hook out-of-context si trovano nello spazio indirizzi del client, sia nel corpo del codice che in una DLL.
- Le funzioni hook out-of-context non vengono mappate nello spazio indirizzi del server.
- Quando viene attivato un evento, i parametri per la funzione hook vengono sottoposto a marshalling attraverso i limiti del processo.
- Le funzioni hook out-of-context sono notevolmente più lente rispetto alle funzioni hook nel contesto a causa del marshalling.
- Il sistema accoda le notifiche degli eventi in modo che arrivino in modo asincrono (a causa del tempo necessario per eseguire il marshalling).
Anche se le notifiche degli eventi sono asincrone, Microsoft Active Accessibility assicura che la funzione di callback riceva tutti gli eventi nell'ordine in cui vengono generati.
Il componente USER del sistema operativo alloca memoria per gli eventi gestiti da funzioni hook out-of-context. La memoria viene liberata quando vengono restituite le funzioni hook. Se una funzione hook non elabora gli eventi in modo sufficientemente rapido, le risorse UTENTE vengono ridotte, causando un errore o tempi di risposta estremamente lenti. Questi problemi possono verificarsi se:
- Gli eventi vengono generati molto rapidamente.
- Il sistema è lento.
- La funzione hook elabora gli eventi lentamente.
- Il client è in esecuzione in Windows 9x.