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_INFORMATION oder KEY_VALUE_PARTIAL_INFORMATION, abhängig vom Wert von KeyValueInformationClass. Auf die Struktur folgen zusätzliche Daten, deren Größe vom Datentyp des Schlüsselwerts abhängt.
[in] Length
Größe in Bytes des KeyValueInformation-Puffers , den der Aufrufer gemäß der angegebenen KeyValueInformationClass festlegen muss. Damit der Aufruf erfolgreich ist, 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 jedoch 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 die angeforderten Informationen erfolgreich in den KeyValueInformation-Puffer kopiert hat. 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 entsprechenden Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabecodes status aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass der angegebene Puffer zu klein ist, um Informationen zu empfangen. |
|
Gibt an, dass einer der an die -Methode übergebenen Parameter 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 | Universell |
Header | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |