Filtrando chamadas do Registro

Um driver de filtragem de registro é qualquer driver no modo kernel que filtra chamadas do Registro, como o componente de driver de um pacote de software antivírus. O gerenciador de configurações, que implementa o registro, permite que os drivers de filtragem do Registro filtrem as chamadas de qualquer thread para funções do Registro. A filtragem de chamadas do Registro foi suportada pela primeira vez no Microsoft Windows XP.

No Windows XP, um driver de filtragem de registro pode chamar CmRegisterCallback para registrar uma rotina RegistryCallback e CmUnRegisterCallback para cancelar o registro da rotina de retorno de chamada. A rotina RegistryCallback recebe notificações de cada operação do Registro antes que o gerenciador de configurações processe a operação. Um conjunto de estruturas de dados REG_XXX_KEY_INFORMATION contêm informações sobre cada operação do Registro. A rotina RegistryCallback pode bloquear uma operação do Registro. A rotina de retorno de chamada também recebe notificações quando o gerenciador de configurações termina de criar ou abrir uma chave do Registro.

O Windows Server 2003 fornece notificações de conclusão adicionais.

O Windows Vista fornece os seguintes recursos adicionais de filtragem de registro:

  • Os drivers de filtragem do Registro podem ser em camadas em uma pilha de driver e cada driver na pilha pode filtrar uma operação de registro.

  • A rotina CmRegisterCallback é substituída pela rotina CmRegisterCallbackEx .

  • Os drivers podem processar completamente uma operação do Registro (ou redirecionar a operação solicitada para uma operação diferente) e impedir que o gerenciador de configurações manimensões da operação.

  • Os drivers podem atribuir informações de contexto a operações individuais do Registro ou a objetos-chave.

  • Os drivers podem modificar os parâmetros de saída de uma operação de registro e o valor retornado.

  • Membros adicionais foram adicionados a todas as estruturas de dados REG_XXX_KEY_INFORMATION .

  • Os drivers recebem notificações de operações adicionais do Registro.

Para obter uma lista das operações do Registro que um driver pode filtrar em cada versão do Windows, consulte REG_NOTIFY_CLASS.

Para saber mais sobre a filtragem de chamadas do Registro, confira os seguintes tópicos:

Registrando-se para notificações

Manipulando notificações

Suporte a drivers de filtragem de registro em camadas

Especificando informações de contexto

Obtendo informações adicionais do Registro

Ponteiros de objeto de chave inválidos em notificações do Registro

Filtrando operações do Registro em Hives de Aplicativo