Função ZwNotifyChangeKey (ntifs.h)
A rotina de
Sintaxe
NTSYSAPI NTSTATUS ZwNotifyChangeKey(
[in] HANDLE KeyHandle,
[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] KeyHandle
Manipule para a chave para a qual registrar uma rotina de notificação. Esse identificador é criado por uma chamada bem-sucedida para ZwCreateKey ou ZwOpenKey. O chamador deve ter especificado KEY_NOTIFY acesso.
[in, optional] Event
Identificador opcional para um evento criado pelo chamador a ser definido como o estado Sinalizado quando a operação for concluída. Se não for NULL, o chamador será colocado em um estado de espera até que a operação seja bem-sucedida, momento em que o evento é definido como o estado Sinalizado.
[in, optional] ApcRoutine
Ponteiro para uma rotina de APC fornecida pelo chamador a ser executada após a conclusão da operação. Esse parâmetro é opcional e pode ser NULL.
[in, optional] ApcContext
Ponteiro para passar como um argumento para a rotina de APC que a ApcRoutine aponta para. Esse argumento será necessário se ApcRoutine não for NULL e precisar ser convertido para digitar PVOID. Caso contrário, se ApcRoutine for NULL, defina esse parâmetro como NULL também.
O significado desse parâmetro depende se a rotina é chamada do modo kernel ou do modo de usuário:
Para uma chamada no modo kernel, defina esse parâmetro como um dos seguintes valores de enumeração WORK_QUEUE_TYPE:
- CriticalWorkQueue
- DelayedWorkQueue
Para uma chamada no modo de usuário, esse parâmetro aponta para um contexto especificado pelo chamador para a rotina do APC.
[out] IoStatusBlock
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 buffer é fornecido no IoStatusBlock –>Information.
[in] CompletionFilter
Máscara de bits de operações que fazem com que o driver seja notificado. Especifique um ou mais dos seguintes sinalizadores:
Valor | Significado |
---|---|
REG_NOTIFY_CHANGE_NAME | Notifique o chamador se uma subchave for adicionada ou excluída. |
REG_NOTIFY_CHANGE_ATTRIBUTES | Notifique o chamador de alterações nos atributos da chave, como as informações do descritor de segurança. |
REG_NOTIFY_CHANGE_LAST_SET | Notifique o chamador de alterações para um valor da chave. Isso pode incluir adicionar ou excluir um valor ou alterar um valor existente. (O chamador não receberá nenhuma notificação se o novo valor gravado na chave corresponder ao valor anterior da chave.) |
REG_NOTIFY_CHANGE_SECURITY | Notifique o chamador de alterações no descritor de segurança da chave. |
[in] WatchTree
Se TRUE, o driver será notificado sobre alterações em todas as subchaves da chave especificada. Se FALSE, o driver só será notificado para alterações na chave especificada.
[out, optional] Buffer
Reservado. Especifique NULL.
[in] BufferSize
Reservado. Especifique zero.
[in] Asynchronous
Se FALSE, a rotina não retornará até que o evento especificado ocorra. Se VERDADEIRO, a rotina retornará imediatamente.
Valor de retorno
A rotina de
Observações
Se a chamada para a função ZwNotifyChangeKey ocorrer no modo de usuário, você deverá usar o nome "NtNotifyChangeKey" em vez de "ZwNotifyChangeKey".
Para chamadas de drivers no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços do sistema nativo.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 |
da Plataforma de Destino |
Universal |
cabeçalho | ntifs.h (inclua Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL |
NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |