Функция RegNotifyChangeKeyValue сообщает вызывающему об изменениях атребутов или содержания указанного ключа реестра. Учтите, что функция не сообщает вызывающему, если ключ удален.
LONG RegNotifyChangeKeyValue(
HKEY hKey, // дескриптор просматриваемого ключа
BOOL bWatchSubtree, // флаг для уведомительности подключа
DWORD dwNotifyFilter, // изменения для отчета
HANDLE hEvent, // дескриптор сигнального события
BOOL fAsynchronous // флаг для ассинхронного отчета
);
Параметры:
hKey |
Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG |
bWatchSubtree |
Определяет флаг, который указывает на необходимость отчета об изменениях в указанном ключе и всех его подключах, или только в указанном ключе. Если этот параметр равен TRUE, функция предоставляет отчет об изменениях в ключе и в его подключах. Если он равен FALSE, функция выдает отчет только о ключе. |
dwNotifyFilter |
Определяет набор флагов, которые контролируют выдаваемые в отчет изменения. Этот параметр может быть комбинацией из следующих значний:
Значение: |
Назначение: |
REG_NOTIFY_CHANGE_NAME   |
Сообщает вызывающему об удалении или добавлении подключа. |
REG_NOTIFY_CHANGE_ATTRIBUTES   |
Сообщает вызывающему об изменении атрибутов ключа, таких как информация об дескрипторе безопасности. |
REG_NOTIFY_CHANGE_LAST_SET   |
Сообщает вызывающему об изменении значения ключа. Это может включать в себя добавление или удаление значения, или изменения существующего значния. |
REG_NOTIFY_CHANGE_SECURITY   |
Сообщает вызывающему об изменении дескриптора безопасности ключа. |
|
hEvent |
Определяет событие. Если параметр fAsynchronous равен TRUE, функция возвращается немедленно и отчет об изменениях поступает по этому событию. Если fAsynchronous равен FALSE, то hEvent игнорируется. |
fAsynchronous |
Определяет флаг, который указывает как функция будет рапортовать об изменениях. Если этот параметр равен TRUE, функция возвращается немедленно и рапортует об изменениях посылая сигнал указанного события. Когда этот параметр равен FALSE, функция не возвращается, пока не произойдут изменения.
Если hEvent указывает нп не действительное событие, параметр fAsynchronous не может быть TRUE. |
Возвращаемые значения:
Если функция успешна, возвращается значение ERROR_SUCCESS.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Если ключ, на который указывает параметр hKey, закрыт, посылается событие. Это означает, что приложение не может полагаться на ключ, который будет открыт после возвращения из ожидания события.
RegNotifyChangeKeyValue не работает с удаленными дескрипторами. Если RegNotifyChangeKeyValue вызывается с hKey, установленным в значение удаленного дескриптора, возвращается ERROR_INVALID_HANDLE.
Смотрите также:
RegDeleteKey, RegEnumKey, RegEnumKeyEx, RegEnumValue, RegQueryInfoKey, RegQueryValue, RegQueryValueEx
|