Partager via


Fonction NtNotifyChangeMultipleKeys (winternl.h)

[Cette fonction peut être modifiée ou supprimée de Windows sans préavis. ]

Demande une notification lorsqu’une clé de Registre ou une de ses sous-clés change.

Syntaxe

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

Paramètres

[in] MasterKeyHandle

Handle vers une clé ouverte. Le handle doit être ouvert avec le droit d’accès KEY_NOTIFY .

[in, optional] Count

Nombre d’objets clés fournis dans le paramètre SubordinateObjects . Ce paramètre doit être 1.

[in, optional] SubordinateObjects

Pointeur vers un tableau de structures OBJECT_ATTRIBUTES , un pour chaque clé. Ce tableau peut contenir une structure OBJECT_ATTRIBUTES et ne doit pas être une clé dans la même ruche que la clé MasterKeyHandle .

[in, optional] Event

Handle vers un événement créé par l’appelant. Si l’événement n’est pas NULL, l’appelant attend que l’opération réussisse, à quel moment l’événement est signalé.

[in, optional] ApcRoutine

Pointeur vers une fonction d’appel de procédure asynchrone (APC) fournie par l’appelant. Si ApcRoutine n’est pas NULL, la fonction APC spécifiée s’exécute une fois l’opération terminée. Une WORK_QUEUE_ITEM doit être fournie au lieu d’ApcRoutine dans la variante ZwNotifyChangeMultipleKeys .

[in, optional] ApcContext

Pointeur vers un contexte fourni par l’appelant pour sa fonction APC. Cette valeur est transmise à la fonction APC lorsqu’elle est exécutée. Le paramètre asynchrone doit être TRUE. Si ApcContext est spécifié, le paramètre Event doit être NULL. Un WORK_QUEUE_TYPE doit être fourni au lieu d’ApcContext dans la variante ZwNotifyChangeMultipleKeys .

[out] IoStatusBlock

Pointeur vers une structure IO_STATUS_BLOCK qui contient l’état final et les informations relatives à l’opération. Pour les appels réussis qui retournent des données, le nombre d’octets écrits dans le paramètre Buffer est fourni dans le membre Information de la structure IO_STATUS_BLOCK .

[in] CompletionFilter

Bitmap d’opérations qui déclenchent la notification. Ce paramètre peut être un ou plusieurs des indicateurs suivants.

Valeur Sens
REG_NOTIFY_CHANGE_NAME
Informez l’appelant si une sous-clé est ajoutée ou supprimée.
REG_NOTIFY_CHANGE_ATTRIBUTES
Informez l’appelant des modifications apportées aux attributs de la clé, tels que les informations du descripteur de sécurité.
REG_NOTIFY_CHANGE_LAST_SET
Informez l’appelant des modifications apportées à une valeur de la clé. Cela peut inclure l’ajout ou la suppression d’une valeur ou la modification d’une valeur existante.
REG_NOTIFY_CHANGE_SECURITY
Informez l’appelant des modifications apportées au descripteur de sécurité de la clé.

[in] WatchTree

Si ce paramètre a la valeur TRUE, l’appelant est averti des modifications apportées à toutes les sous-clés de la clé spécifiée. Si ce paramètre a la valeur FALSE, l’appelant est averti uniquement des modifications apportées à la clé spécifiée.

[out, optional] Buffer

Réservé à l’utilisation du système. Ce paramètre doit être NULL.

[in] BufferSize

Réservé à l’utilisation du système. Ce paramètre doit être égal à zéro.

[in] Asynchronous

Si ce paramètre a la valeur TRUE, la fonction retourne immédiatement. Si ce paramètre est FALSE, la fonction ne retourne pas tant que l’événement spécifié ne se produit pas.

Valeur retournée

Retourne un code d’erreur ou NTSTATUS .

Si le paramètre asynchrone a la valeur TRUE et que l’événement spécifié n’a pas encore eu lieu, la fonction retourne STATUS_PENDING.

Les formulaires et l’importance des codes d’erreur NTSTATUS sont répertoriés dans le fichier d’en-tête Ntstatus.h disponible dans le WDK, et sont décrits dans la documentation WDK.

Remarques

Cette fonction n’a pas de fichier d’en-tête associé. Vous pouvez également utiliser les fonctions LoadLibrary et GetProcAddress pour lier dynamiquement à Ntdll.dll.

Spécifications

Besoin Valeur
plateforme cible Fenêtres
En-tête winternl.h
Bibliothèque ntdll.lib
DLL ntdll.dll

Voir aussi

sécurité des clés de Registre et droits d’accès