IRegistryKey::EnumerateValueKey-Methode (portcls.h)
Die EnumerateValueKey
-Methode gibt Informationen zu einem Registrierungseintrag zurück, der einen Wertschlüssel enthält.
Syntax
NTSTATUS EnumerateValueKey(
[in] ULONG Index,
[in] KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
[out] PVOID KeyValueInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parameter
[in] Index
Gibt den Unterschlüsselindex an. Dieser Parameter identifiziert den Unterschlüssel, dessen Wert angefordert wird. Wenn der Schlüssel n Unterschlüssel enthält, reichen gültige Indizes von 0 bis n-1. Wenn der Index diesen Bereich überschreitet, gibt die Methode STATUS_NO_MORE_ENTRIES zurück.
[in] KeyValueInformationClass
Gibt den Typ der Informationen an, die im Puffer zurückgegeben werden sollen. Legen Sie diesen Parameter auf einen der folgenden KEY_VALUE_INFORMATION_CLASS Enumerationswerte fest:
- KeyValueBasicInformation
-
KeyValueFullInformation
-
KeyValuePartialInformation
[out] KeyValueInformation
Ausgabezeiger für den Schlüsselwert. Dieser Parameter verweist auf einen vom Aufrufer zugewiesenen Puffer, in den die Methode die angeforderten Daten schreibt. Der Puffer enthält eine Struktur vom Typ KEY_VALUE_BASIC_INFORMATION, KEY_VALUE_FULL_INFORMATIONoder KEY_VALUE_PARTIAL_INFORMATION, abhängig vom Wert KeyValueInformationClass. Auf die Struktur folgen zusätzliche Daten, deren Größe vom Datentyp des Schlüsselwerts abhängt.
[in] Length
Größe in Byte des KeyValueInformation- Puffers, den der Aufrufer gemäß der angegebenen KeyValueInformationClassfestlegen muss. Damit der Aufruf erfolgreich ausgeführt werden kann, muss der Puffer mindestens so groß sein wie die Daten, die die Methode in den Puffer schreibt.
[out] ResultLength
Ausgabezeiger für die Länge der resultierenden Daten. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene ULONG-Variable, in die die Methode eine Anzahl schreibt, die die Anzahl der Bytes angibt, die tatsächlich in den KeyValueInformation Puffer geschrieben wurden. Wenn die angegebene Pufferlänge zu klein ist, um die Informationen zu enthalten, gibt die Methode stattdessen die erforderliche Puffergröße aus und gibt STATUS_BUFFER_OVERFLOW zurück.
Rückgabewert
EnumerateValueKey
gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war, die angeforderten Informationen in den KeyValueInformation Puffer zu kopieren. Wenn die angegebene Puffergröße zu klein ist, um alle verfügbaren Informationen zu empfangen, gibt die Methode STATUS_BUFFER_OVERFLOW zurück. Andernfalls gibt die Methode einen geeigneten Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabestatuscodes aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass der angegebene Puffer zu klein ist, um Informationen zu empfangen. |
|
Gibt an, dass einer der Parameter, die an die Methode übergeben werden, ungültig ist. |
|
Gibt an, dass keine weiteren Wertschlüssel verfügbar sind (der Index Parameter ist größer oder gleich der Anzahl der Wertschlüssel). |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | portcls.h (include Portcls.h) |
IRQL- | PASSIVE_LEVEL |