Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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.
[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 |