IRegistryKey ::EnumerateValueKey, méthode (portcls.h)
La méthode EnumerateValueKey
retourne des informations sur une entrée de Registre qui contient une clé de valeur.
Syntaxe
NTSTATUS EnumerateValueKey(
[in] ULONG Index,
[in] KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
[out] PVOID KeyValueInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Paramètres
[in] Index
Spécifie l’index de sous-clé. Ce paramètre identifie la sous-clé dont la valeur est demandée. Si la clé contient n sous-clés, les index valides sont comprises entre 0 et n-1. Si l’index dépasse cette plage, la méthode retourne STATUS_NO_MORE_ENTRIES.
[in] KeyValueInformationClass
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_VALUE_INFORMATION_CLASS suivantes :
- KeyValueBasicInformation
-
KeyValueFullInformation
-
KeyValuePartialInformation
[out] KeyValueInformation
Pointeur de sortie pour la valeur de clé. Ce paramètre pointe vers une mémoire tampon allouée par l’appelant dans laquelle la méthode écrit les données demandées. La mémoire tampon contient une structure de type KEY_VALUE_BASIC_INFORMATION, KEY_VALUE_FULL_INFORMATIONou KEY_VALUE_PARTIAL_INFORMATION, en fonction de la valeur de KeyValueInformationClass. La structure est suivie de données supplémentaires dont la taille dépend du type de données de la valeur de clé.
[in] Length
Taille en octets de la mémoire tampon KeyValueInformation, que l’appelant doit définir en fonction de la KeyValueInformationClassdonnée. Pour que l’appel réussisse, la mémoire tampon doit être au moins aussi importante 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 par l’appelant dans laquelle la méthode écrit un nombre d’octets réellement écrits dans la mémoire tampon KeyValueInformation. Si la longueur de la mémoire tampon spécifiée est trop petite pour contenir les informations, toutefois, la méthode génère plutôt la taille de mémoire tampon requise et retourne STATUS_BUFFER_OVERFLOW.
Valeur de retour
EnumerateValueKey
retourne STATUS_SUCCESS si l’appel a réussi à copier les informations demandées dans la mémoire tampon KeyValueInformation. 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 d’état de retour possibles.
Retourner le code | Description |
---|---|
|
Indique que la mémoire tampon spécifiée est trop petite pour recevoir des informations. |
|
Indique qu’un des paramètres passés à la méthode n’est pas valide. |
|
Indique qu’aucune autre clé de valeur n’est disponible (le paramètre Index est supérieur ou égal au nombre de clés de valeur). |
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |