IRegistryKey::EnumerateKey-Methode (portcls.h)
Die EnumerateKey
-Methode gibt Informationen zu den Unterschlüsseln des geöffneten Schlüssels zurück.
Syntax
NTSTATUS EnumerateKey(
[in] ULONG Index,
[in] KEY_INFORMATION_CLASS KeyInformationClass,
[out] PVOID KeyInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parameter
[in] Index
Gibt den Unterschlüsselindex an. Dieser Parameter identifiziert den Unterschlüssel, für den Schlüsselinformationen angefordert werden. 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] KeyInformationClass
Gibt den Typ der Informationen an, die im Puffer zurückgegeben werden sollen. Legen Sie diesen Parameter auf einen der folgenden KEY_INFORMATION_CLASS-Enumerationswerte fest:
- KeyBasicInformation
- KeyFullInformation
- KeyNodeInformation
[out] KeyInformation
Zeiger auf den Schlüsselinformationspuffer. Dieser Parameter verweist auf einen vom Aufrufer zugeordneten Puffer, in den die Methode die angeforderten Daten schreibt. Der Puffer enthält je nach Wert von KeyInformationClass eine Struktur vom Typ KEY_BASIC_INFORMATION, KEY_FULL_INFORMATION oder KEY_NODE_INFORMATION. Auf die Struktur folgt eine Zeichenfolge von Unicode-Zeichen, deren Größe vom Typ der zum Schlüssel angeforderten Informationen abhängt.
[in] Length
Gibt die Größe des KeyInformation-Puffers in Byte an, den der Aufrufer gemäß der angegebenen KeyInformationClass 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 zugeordnete ULONG-Variable, in die die Methode eine Anzahl schreibt, die die Anzahl der Bytes angibt, die tatsächlich in den KeyInformation-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
EnumerateKey
gibt STATUS_SUCCESS zurück, wenn der Aufruf die angeforderten Informationen im KeyInformation-Puffer erfolgreich abgerufen 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 geeigneten 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 keine weiteren Unterschlüssel verfügbar sind (der Unterschlüsselindex ist größer oder gleich der Anzahl der Unterschlüssel). |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | portcls.h (portcls.h einschließen) |
IRQL | PASSIVE_LEVEL |