Fonction ZwDeleteValueKey (wdm.h)
La routine ZwDeleteValueKey supprime une entrée de valeur correspondant à un nom d’une clé ouverte dans le Registre. Si aucune entrée de ce type n’existe, une erreur est retournée.
Syntaxe
NTSYSAPI NTSTATUS ZwDeleteValueKey(
[in] HANDLE KeyHandle,
[in] PUNICODE_STRING ValueName
);
Paramètres
[in] KeyHandle
Handle de la clé de Registre contenant l’entrée de valeur d’intérêt. Cette clé doit avoir été ouverte avec KEY_SET_VALUE défini pour l’accès souhaité. Ce handle est créé par un appel réussi à ZwCreateKey ou ZwOpenKey.
[in] ValueName
Pointeur vers une structure UNICODE_STRING qui contient le nom de l’entrée de valeur à supprimer. Ce paramètre peut être une chaîne vide si l’entrée de valeur n’a pas de nom.
Valeur retournée
ZwDeleteValueKey retourne STATUS_SUCCESS ou une status d’erreur appropriée représentant le status d’achèvement final de l’opération. Les codes de status d’erreur possibles incluent les éléments suivants :
Code de retour | Description |
---|---|
STATUS_ACCESS_DENIED | Le handle KeyHandle n’a pas l’accès KEY_SET_VALUE. |
STATUS_INSUFFICIENT_RESOURCES | Les ressources supplémentaires requises par cette fonction n’étaient pas disponibles. |
STATUS_INVALID_HANDLE | Le paramètre KeyHandle spécifié était un pointeur NULL ou non un pointeur valide vers une clé de Registre ouverte. |
STATUS_OBJECT_NAME_NOT_FOUND | L’entrée de clé de Registre ValueName est introuvable. |
Remarques
Le KeyHandle passé à ZwDeleteValueKey doit avoir été ouvert pour que la suppression de l’accès réussisse. Les valeurs DesiredAccess de KEY_SET_VALUE, KEY_WRITE et KEY_ALL_ACCESS incluent le masque d’accès KEY_SET_VALUE requis pour supprimer l’accès. Pour obtenir une description des valeurs possibles pour DesiredAccess, consultez ZwCreateKey.
Si les fonctions de rappel sont inscrites pour cette clé de Registre, ces fonctions de rappel sont appelées.
Les pilotes de périphérique ne doivent pas tenter d’appeler directement ZwDeleteValueKey pour supprimer les entrées de valeur dans une sous-clé du \Registry.. \ResourceMap key. Seul le système peut écrire ou supprimer des entrées de valeur dans le \Registry.. \Arborescence HardwareDescription .
Si l’appel à cette fonction se produit en mode utilisateur, vous devez utiliser le nom « NtDeleteValueKey » au lieu de « ZwDeleteValueKey ».
Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment dans la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Utilisation des versions Nt et Zw des routines des services système natifs.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm) |
Voir aussi
Utilisation des versions Nt et Zw des routines natives des services système natifs