Condividi tramite


Funzione NtNotifyChangeMultipleKeys (winternl.h)

[Questa funzione può essere modificata o rimossa da Windows senza ulteriori avvisi. ]

Richiede una notifica quando viene modificata una chiave del Registro di sistema o una delle relative sottochiavi.

Sintassi

__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
);

Parametri

[in] MasterKeyHandle

Handle per una chiave aperta. L'handle deve essere aperto con il diritto di accesso KEY_NOTIFY .

[in, optional] Count

Numero di sottochiavi nella chiave specificata dal parametro MasterKeyHandle . Questo parametro deve essere 1.

[in, optional] SubordinateObjects

Puntatore a una matrice di strutture OBJECT_ATTRIBUTES , una per ogni sottochiave. Questa matrice può contenere una struttura OBJECT_ATTRIBUTES .

[in, optional] Event

Handle a un evento creato dal chiamante. Se l'evento non è NULL, il chiamante attende finché l'operazione non riesce, al momento in cui l'evento viene segnalato.

[in, optional] ApcRoutine

Puntatore a una funzione di chiamata asincrona (APC) fornita dal chiamante. Se ApcRoutine non è NULL, la funzione APC specificata viene eseguita dopo il completamento dell'operazione.

[in, optional] ApcContext

Puntatore a un contesto fornito dal chiamante per la relativa funzione APC. Questo valore viene passato alla funzione APC quando viene eseguita. Il parametro asincrono deve essere TRUE. Se viene specificato ApcContext , il parametro Event deve essere NULL.

[out] IoStatusBlock

Puntatore a una struttura IO_STATUS_BLOCK contenente lo stato finale e le informazioni sull'operazione. Per le chiamate riuscite che restituiscono dati, il numero di byte scritti nel parametro Buffer viene fornito nel membro Information della struttura IO_STATUS_BLOCK .

[in] CompletionFilter

Bitmap delle operazioni che attivano la notifica. Questo parametro può essere uno o più dei flag seguenti.

Valore Significato
REG_NOTIFY_CHANGE_NAME
Notifica al chiamante se viene aggiunta o eliminata una sottochiave.
REG_NOTIFY_CHANGE_ATTRIBUTES
Notificare al chiamante di apportare modifiche agli attributi della chiave, ad esempio le informazioni del descrittore di sicurezza.
REG_NOTIFY_CHANGE_LAST_SET
Notifica al chiamante di modifiche a un valore della chiave. Ciò può includere l'aggiunta o l'eliminazione di un valore o la modifica di un valore esistente.
REG_NOTIFY_CHANGE_SECURITY
Notifica al chiamante delle modifiche apportate al descrittore di sicurezza della chiave.

[in] WatchTree

Se questo parametro è TRUE, il chiamante riceve una notifica sulle modifiche a tutte le sottochiavi della chiave specificata. Se questo parametro è FALSE, il chiamante riceve una notifica solo sulle modifiche apportate alla chiave specificata.

[out, optional] Buffer

Riservato per l'utilizzo nel sistema. Questo parametro deve essere NULL.

[in] BufferSize

Riservato per l'utilizzo nel sistema. Questo parametro deve essere zero.

[in] Asynchronous

Se questo parametro è TRUE, la funzione restituisce immediatamente. Se questo parametro è FALSE, la funzione non restituisce finché non si verifica l'evento specificato.

Valore restituito

Restituisce un codice NTSTATUS o di errore.

Se il parametro asincrono è TRUE e l'evento specificato non è ancora stato eseguito, la funzione restituisce STATUS_PENDING.

I moduli e il significato dei codici di errore NTSTATUS sono elencati nel file di intestazione Ntstatus.h disponibile nel wdK e sono descritti nella documentazione di WDK.

Commenti

Questa funzione non ha alcun file di intestazione associato. È anche possibile usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Ntdll.dll.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione winternl.h
Libreria ntdll.lib
DLL ntdll.dll

Vedi anche

Diritti di sicurezza e accesso delle chiavi del Registro di sistema