Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[Essa função pode ser alterada ou removida do Windows sem aviso prévio. ]
Solicita notificação quando uma chave do Registro ou qualquer uma de suas subchaves é alterada.
Sintaxe
__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
);
Parâmetros
[in] MasterKeyHandle
Um identificador para uma chave aberta. O identificador deve ser aberto com o KEY_NOTIFY direito de acesso.
[in, optional] Count
O número de objetos de chaves fornecidos no parâmetro SubordinateObjects . Esse parâmetro deve ser 1.
[in, optional] SubordinateObjects
Ponteiro para uma matriz de estruturas de OBJECT_ATTRIBUTES , uma para cada chave. Essa matriz pode conter uma estrutura OBJECT_ATTRIBUTES e não deve ser uma chave no mesmo hive que a chave MasterKeyHandle .
[in, optional] Event
Um identificador para um evento criado pelo chamador. Se Event não for NULL, o chamador aguardará até que a operação seja bem-sucedida, momento em que o evento será sinalizado.
[in, optional] ApcRoutine
Um ponteiro para uma função de chamada de procedimento assíncrono (APC) fornecida pelo chamador. Se a ApcRoutine não for NULL, a função APC especificada será executada após a conclusão da operação. Um WORK_QUEUE_ITEM deve ser fornecido em vez de ApcRoutine na variante ZwNotifyChangeMultipleKeys .
[in, optional] ApcContext
Um ponteiro para um contexto fornecido pelo chamador para sua função APC. Esse valor é passado para a função APC quando ele é executado. O parâmetro assíncrono deve ser TRUE. Se ApcContext for especificado, o parâmetro Event deverá ser NULL. Um WORK_QUEUE_TYPE deve ser fornecido em vez de ApcContext na variante ZwNotifyChangeMultipleKeys .
[out] IoStatusBlock
Um ponteiro para uma estrutura de IO_STATUS_BLOCK que contém o status final e informações sobre a operação. Para chamadas bem-sucedidas que retornam dados, o número de bytes gravados no parâmetro Buffer é fornecido no membro Informações da estrutura IO_STATUS_BLOCK .
[in] CompletionFilter
Um bitmap de operações que disparam a notificação. Esse parâmetro pode ser um ou mais dos sinalizadores a seguir.
[in] WatchTree
Se esse parâmetro for TRUE, o chamador será notificado sobre alterações em todas as subchaves da chave especificada. Se esse parâmetro for FALSE, o chamador será notificado apenas sobre alterações na chave especificada.
[out, optional] Buffer
Reservado para uso do sistema. Esse parâmetro deve ser NULL.
[in] BufferSize
Reservado para uso do sistema. Esse parâmetro deve ser zero.
[in] Asynchronous
Se esse parâmetro for TRUE, a função retornará imediatamente. Se esse parâmetro for FALSE, a função não retornará até que o evento especificado ocorra.
Valor de retorno
Retorna um código de erro ou NTSTATUS .
Se o parâmetro assíncrono for TRUE e o evento especificado ainda não tiver ocorrido, a função retornará STATUS_PENDING.
Os formulários e a significância dos códigos de erro NTSTATUS são listados no arquivo de cabeçalho Ntstatus.h disponível no WDK e são descritos na documentação do WDK.
Observações
Essa função não tem nenhum arquivo de cabeçalho associado. Você também pode usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Ntdll.dll.
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Windows |
| cabeçalho | winternl.h |
| Biblioteca | ntdll.lib |
| de DLL | ntdll.dll |