Функция NtNotifyChangeMultipleKeys (winternl.h)
[Эта функция может быть изменена или удалена из Windows без дополнительного уведомления. ]
Запрашивает уведомление при изменении раздела реестра или любого из его подразделов.
Синтаксис
__kernel_entry NTSTATUS NtNotifyChangeMultipleKeys(
[in] HANDLE MasterKeyHandle,
[in, optional] ULONG Count,
[in, optional] OBJECT_ATTRIBUTES [] SubordinateObjects,
[in, optional] HANDLE Event,
[in, optional] PIO_APC_ROUTINE ApcRoutine,
[in, optional] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] ULONG CompletionFilter,
[in] BOOLEAN WatchTree,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[in] BOOLEAN Asynchronous
);
Параметры
[in] MasterKeyHandle
Дескриптор открытого ключа. Дескриптор должен быть открыт с правом доступа KEY_NOTIFY .
[in, optional] Count
Количество подразделов в ключе, заданном параметром MasterKeyHandle . Этот параметр должен иметь значение 1.
[in, optional] SubordinateObjects
Указатель на массив OBJECT_ATTRIBUTES структур, по одному для каждого подраздела. Этот массив может содержать одну OBJECT_ATTRIBUTES структуру.
[in, optional] Event
Дескриптор события, созданного вызывающим элементом. Если значение Event не равно NULL, вызывающий объект ожидает завершения операции, в то время как событие будет сигнализировать.
[in, optional] ApcRoutine
Указатель на асинхронную функцию вызова процедуры (APC), предоставляемую вызывающим элементом. Если ApcRoutine не имеет значение NULL, указанная функция APC выполняется после завершения операции.
[in, optional] ApcContext
Указатель на контекст, предоставляемый вызывающим объектом для его функции APC. Это значение передается в функцию APC при ее выполнении. Асинхронный параметр должен иметь значение TRUE. Если указан ApcContext , параметр Event должен иметь значение NULL.
[out] IoStatusBlock
Указатель на структуру IO_STATUS_BLOCK , содержащую окончательное состояние и сведения об операции. Для успешных вызовов, возвращающих данные, число байтов, записанных в параметр Buffer , предоставляется в элементе Information структуры IO_STATUS_BLOCK .
[in] CompletionFilter
Растровое изображение операций, активировающих уведомление. Этот параметр может быть одним или несколькими из следующих флагов.
[in] WatchTree
Если этот параметр имеет значение TRUE, вызывающий объект получает уведомление об изменениях во всех подразделах указанного ключа. Если этот параметр имеет значение FALSE, вызывающий объект получает уведомление только об изменениях указанного ключа.
[out, optional] Buffer
Зарезервировано для системного использования. Этот параметр должен иметь значение NULL.
[in] BufferSize
Зарезервировано для системного использования. Этот параметр должен быть равен нулю.
[in] Asynchronous
Если этот параметр имеет значение TRUE, функция возвращает немедленно. Если этот параметр имеет значение FALSE, функция не возвращается, пока не произойдет указанное событие.
Возвращаемое значение
Возвращает ntstatus или код ошибки.
Если асинхронный параметр имеет значение TRUE и указанное событие еще не произошло, функция возвращает STATUS_PENDING.
Формы и важность кодов ошибок NTSTATUS перечислены в файле заголовка Ntstatus.h, доступном в WDK, и описаны в документации по WDK.
Комментарии
У этой функции нет связанного файла заголовка. Вы также можете использовать функции LoadLibrary и GetProcAddress для динамической связи с Ntdll.dll.
Требования
Целевая платформа | Windows |
Header | winternl.h |
Библиотека | ntdll.lib |
DLL | ntdll.dll |