OREnumKey-Funktion

Listet die Unterschlüssel des angegebenen geöffneten Registrierungsschlüssels in einer Offlineregistrierungsstruktur auf. Die Funktion ruft bei jedem Aufruf Informationen zu einem Unterschlüssel ab.

Syntax

DWORD OREnumKey(
  _In_        ORHKEY    Handle,
  _In_        DWORD     dwIndex,
  _Out_       PWSTR     lpName,
  _Inout_     PDWORD    lpcName,
  _Out_opt_   PWSTR     lpClass,
  _Inout_opt_ PDWORD    lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime
);

Parameter

Handle [ In]

Ein Handle für einen geöffneten Registrierungsschlüssel in einer Offlineregistrierungsstruktur.

dwIndex [ In]

Der Index des abzurufende Unterschlüssels. Dieser Parameter sollte 0 (null) für den ersten Aufruf der Funktion sein und dann für nachfolgende Aufrufe erhöht werden.

Da Unterschlüssel nicht sortiert sind, verfügt jeder neue Unterschlüssel über einen beliebigen Index. Dies bedeutet, dass die Funktion Unterschlüssel in beliebiger Reihenfolge zurückgeben kann.

lpName [ out]

Ein Zeiger auf einen Puffer, der den Namen des Unterschlüssels einschließlich des abschließenden NULL-Zeichens empfängt. Die Funktion kopiert nur den Namen des Unterschlüssels, nicht die vollständige Schlüsselhierarchie, in den Puffer. Wenn die Funktion fehlschlägt, werden keine Informationen in diesen Puffer kopiert.

Weitere Informationen finden Sie unter Größenbeschränkungen für Registrierungselemente.

lpcName [ in, out]

Ein Zeiger auf eine Variable, die die Größe des puffers angibt, der durch den lpName-Parameter in WCHARs angegeben wird. Diese Größe sollte das abschließende NULL-Zeichen enthalten. Wenn die Funktion erfolgreich ausgeführt wird, enthält die Variable, auf die von lpcName verwiesen wird, die Anzahl der im Puffer gespeicherten Zeichen, ohne das abschließende NULL-Zeichen.

lpClass [ out, optional]

Ein Zeiger auf einen Puffer, der die NULL-terminierte Klassenzeichenfolge des aufzählten Unterschlüssels empfängt. Dieser Parameter kann NULL sein.

lpcClass [ in, out, optional]

Ein Zeiger auf eine Variable, die die Größe des vom lpClass-Parameter angegebenen Puffers in WCHARs angibt. Die Größe sollte das abschließende NULL-Zeichen enthalten. Wenn die Funktion erfolgreich ausgeführt wird, enthält lpcClass die Anzahl der im Puffer gespeicherten Zeichen, ohne das abschließende NULL-Zeichen. Dieser Parameter kann nur NULL sein, wenn lpClass NULL ist.

lpftLastWriteTime [ out, optional]

Ein Zeiger auf die FILETIME-Struktur, der den Zeitpunkt empfängt, zu dem der aufzählte Unterschlüssel zuletzt geschrieben wurde. Dieser Parameter kann NULL sein.

Rückgabewert

Wenn die Funktion erfolgreich ausgeführt wird, lautet der Rückgabewert ERROR _ SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Fehlercode ungleich 0 (null), der in Winerror.h definiert ist. Sie können die FormatMessage-Funktion mit dem _ FORMAT MESSAGE FROM _ _ SYSTEM-Flag verwenden, um eine generische Beschreibung des Fehlers abzurufen. Mögliche Fehlercodes sind:

  • Wenn der lpName-Puffer zu klein ist, um den Namen des Schlüssels zu erhalten, gibt die Funktion ERROR _ MORE DATA _ zurück.
  • Wenn keine Unterschlüssel mehr verfügbar sind, gibt die Funktion ERROR _ NO _ MORE ITEMS _ zurück.

Hinweise

Um Unterschlüssel aufzuzählen, sollte eine Anwendung zunächst die OREnumKey-Funktion aufrufen, wobei der dwIndex-Parameter auf 0 (null) festgelegt ist. Die Anwendung sollte dann den dwIndex-Parameter erhöhen und OREnumKey aufrufen, bis keine Unterschlüssel mehr vorhanden sind (was bedeutet, dass die Funktion ERROR NO MORE ITEMS zurückgibt). _ _ _

Die Anwendung kann dwIndex auch auf den Index des letzten Unterschlüssels beim ersten Aufruf der Funktion festlegen und den Index dekrementieren, bis der Unterschlüssel mit dem Index 0 aufzählt wird. Verwenden Sie die ORQueryInfoKey-Funktion, um den Index des letzten Unterschlüssels abzurufen.

Während eine Anwendung die OREnumKey-Funktion verwendet, sollte sie keine Offlineregistrierungsfunktionen aufrufen, die den aufzuzähligen Schlüssel ändern könnten.

Anforderungen

Anforderung Wert
Verteilbare Komponente
Windows Offline registry library version 1.0 or later (Offlineregistrierungsbibliothek, Version 1.0 oder höher)
Header
Offreg.h
DLL
Offreg.dll

Siehe auch

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey