/**
* Notifies of changes to a registry key.
*
* @param KeyHandle Handle to the registry key.
* @param Event Optional handle to an event to be signaled.
* @param ApcRoutine Optional APC routine to be called.
* @param ApcContext Optional context for the APC routine.
* @param IoStatusBlock Pointer to an IO status block.
* @param CompletionFilter Filter for the types of changes to notify.
* @param WatchTree Whether to watch the entire tree.
* @param Buffer Optional buffer for change data.
* @param BufferSize Size of the buffer.
* @param Asynchronous Whether the operation is asynchronous.
* @return NTSTATUS Successful or errant status.
*/
NTSYSCALLAPI
NTSTATUS
NTAPI
NtNotifyChangeKey(
_In_ HANDLE KeyHandle,
_In_opt_ HANDLE Event,
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
_In_opt_ PVOID ApcContext,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_ ULONG CompletionFilter,
_In_ BOOLEAN WatchTree,
_Out_writes_bytes_opt_(BufferSize) PVOID Buffer,
_In_ ULONG BufferSize,
_In_ BOOLEAN Asynchronous
);
View code on GitHub
NTSYSCALLAPI
NTSTATUS
NTAPI
ZwNotifyChangeKey(
_In_ HANDLE KeyHandle,
_In_opt_ HANDLE Event,
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
_In_opt_ PVOID ApcContext,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_ ULONG CompletionFilter,
_In_ BOOLEAN WatchTree,
_Out_writes_bytes_opt_(BufferSize) PVOID Buffer,
_In_ ULONG BufferSize,
_In_ BOOLEAN Asynchronous
);
View code on GitHub