Registrazione per le notifiche

Per filtrare le chiamate del Registro di sistema, il driver di filtro del Registro di sistema in modalità kernel deve prima chiamare CmRegisterCallback o CmRegisterCallbackEx per registrare una routine RegistryCallback . Per Windows Vista e versioni successive del sistema operativo, i driver devono usare CmRegisterCallbackEx anziché CmRegisterCallback.

Dopo che il driver ha registrato una routine RegistryCallback , Configuration Manager chiama la routine ogni volta che un thread tenta di eseguire un'operazione del Registro di sistema. I thread che eseguono operazioni del Registro di sistema possono essere da applicazioni in modalità utente che chiamano le routine del Registro di sistema in modalità utente (RegCreateKeyEx, RegOpenKeyEx e così via) e da driver che chiamano le routine del Registro di sistema in modalità kernel (ZwCreateKey, ZwOpenKey e così via).

Per la maggior parte delle operazioni, il driver può ricevere una notifica prima che Configuration Manager elabori l'operazione del Registro di sistema (una notifica preliminare) o immediatamente dopo il completamento dell'operazione (ma prima che configuration manager torni al chiamante, una notifica successiva). Per un elenco dei tipi di notifiche che il driver può ricevere, vedere REG_NOTIFY_CLASS.

Dopo che un driver ha chiamato CmRegisterCallback o CmRegisterCallbackEx, il driver riceverà notifiche finché non chiama CmUnRegisterCallback o non viene scaricato.