Méthode IRegistryKey ::EnumerateKey (portcls.h)
La EnumerateKey
méthode retourne des informations sur les sous-clés de la clé ouverte.
Syntaxe
NTSTATUS EnumerateKey(
[in] ULONG Index,
[in] KEY_INFORMATION_CLASS KeyInformationClass,
[out] PVOID KeyInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Paramètres
[in] Index
Spécifie l’index de sous-clé. Ce paramètre identifie la sous-clé pour laquelle les informations de clé sont demandées. Si la clé contient n sous-clés, les index valides vont de 0 à n-1. Si l’index dépasse cette plage, la méthode retourne STATUS_NO_MORE_ENTRIES.
[in] KeyInformationClass
Spécifie le type d’informations à retourner dans la mémoire tampon. Définissez ce paramètre sur l’une des valeurs d’énumération KEY_INFORMATION_CLASS suivantes :
- KeyBasicInformation
- KeyFullInformation
- KeyNodeInformation
[out] KeyInformation
Pointeur vers la mémoire tampon d’informations clés. Ce paramètre pointe vers une mémoire tampon allouée à l’appelant dans laquelle la méthode écrit les données demandées. La mémoire tampon contient une structure de type KEY_BASIC_INFORMATION, KEY_FULL_INFORMATION ou KEY_NODE_INFORMATION, selon la valeur de KeyInformationClass. La structure est suivie d’une chaîne de caractères Unicode dont la taille dépend du type d’informations demandées sur la clé.
[in] Length
Spécifie la taille en octets de la mémoire tampon KeyInformation , que l’appelant doit définir en fonction du KeyInformationClass donné. Pour que l’appel réussisse, la mémoire tampon doit être au moins aussi volumineuse que les données que la méthode écrit dans la mémoire tampon.
[out] ResultLength
Pointeur de sortie pour la longueur des données obtenues. Ce paramètre pointe vers une variable ULONG allouée à l’appelant dans laquelle la méthode écrit un nombre spécifiant le nombre d’octets réellement écrits dans la mémoire tampon KeyInformation . Si la longueur de mémoire tampon spécifiée est trop petite pour contenir les informations, la méthode génère à la place la taille de mémoire tampon requise et retourne STATUS_BUFFER_OVERFLOW.
Valeur retournée
EnumerateKey
retourne STATUS_SUCCESS si l’appel a réussi à récupérer les informations demandées dans la mémoire tampon KeyInformation . Si la taille de mémoire tampon spécifiée est trop petite pour recevoir toutes les informations disponibles, la méthode retourne STATUS_BUFFER_OVERFLOW. Sinon, la méthode retourne un code d’erreur approprié. Le tableau suivant présente certains des codes status de retour possibles.
Code de retour | Description |
---|---|
|
Indique que la mémoire tampon spécifiée est trop petite pour recevoir des informations. |
|
Indique qu’aucune sous-clé supplémentaire n’est disponible (l’index de sous-clé est supérieur ou égal au nombre de sous-clés). |
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |