Фильтрация вызовов реестра
Драйвер фильтрации реестра — это любой драйвер в режиме ядра, который фильтрует вызовы реестра, например компонент драйвера пакета антивирусного программного обеспечения. Диспетчер конфигурации, реализующий реестр, позволяет драйверам фильтрации реестра фильтровать вызовы любого потока к функциям реестра. Фильтрация вызовов реестра впервые была реализована в Microsoft Windows XP.
В Windows XP драйвер фильтрации реестра может вызывать CmRegisterCallback для регистрации подпрограммы RegistryCallback и CmUnRegisterCallback для отмены регистрации процедуры обратного вызова. Подпрограмма RegistryCallback получает уведомления о каждой операции реестра до того, как диспетчер конфигурации обработает операцию. Набор структур данных REG_XXX_KEY_INFORMATION содержит сведения о каждой операции реестра. Подпрограмма RegistryCallback может блокировать операцию реестра. Подпрограмма обратного вызова также получает уведомления, когда диспетчер конфигурации завершает создание или открытие раздела реестра.
Windows Server 2003 предоставляет дополнительные уведомления о завершении.
Windows Vista предоставляет следующие дополнительные возможности фильтрации реестра:
Драйверы фильтрации реестра могут быть наложены на много слоев в стеке драйверов, и каждый драйвер в стеке может фильтровать операцию реестра.
Подпрограмма CmRegisterCallback заменяется подпрограммой CmRegisterCallbackEx .
Драйверы могут полностью обработать операцию реестра (или перенаправить запрошенную операцию в другую операцию) и предотвратить выполнение операции диспетчером конфигурации.
Драйверы могут назначать сведения контекста отдельным операциям реестра или объектам ключей.
Драйверы могут изменять выходные параметры и возвращаемое значение операции реестра.
Во все структуры данных REG_XXX_KEY_INFORMATION добавлены дополнительные члены.
Драйверы получают уведомления о дополнительных операциях реестра.
Список операций реестра, которые драйвер может фильтровать в каждой версии Windows, см. в разделе REG_NOTIFY_CLASS.
Дополнительные сведения о фильтрации вызовов реестра см. в следующих разделах:
Регистрация для получения уведомлений
Поддержка драйверов многоуровневой фильтрации реестра
Получение дополнительных сведений о реестре
Недопустимые указатели на объект ключа в уведомлениях реестра