Freigeben über


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 abzurufenden Unterschlüssels. Dieser Parameter sollte für den ersten Aufruf der Funktion null sein und dann für nachfolgende Aufrufe inkrementiert 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 empfängt, einschließlich des abschließenden NULL-Zeichens. 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 ist, enthält die Variable, auf die lpcName verweist, die Anzahl der im Puffer gespeicherten Zeichen, ohne das abschließende NULL-Zeichen.

lpClass [out, optional]

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

lpcClass [in, out, optional]

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

lpftLastWriteTime [out, optional]

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

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein in Winerror.h definierter Fehlercode ungleich null. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen. Mögliche Fehlercodes sind:

  • Wenn der puffer lpName zu klein ist, um den Namen des Schlüssels zu erhalten, gibt die Funktion ERROR_MORE_DATA zurück.
  • Wenn keine Weiteren Unterschlüssel verfügbar sind, gibt die Funktion ERROR_NO_MORE_ITEMS zurück.

Bemerkungen

Zum Aufzählen von Unterschlüsseln 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 inkrementieren und OREnumKey aufrufen, bis keine Weiteren Unterschlüssel vorhanden sind (d. h. die Funktion gibt ERROR_NO_MORE_ITEMS zurück).

Die Anwendung kann dwIndex auch beim ersten Aufruf der Funktion auf den Index des letzten Unterschlüssels festlegen und den Index dekrementieren, bis der Unterschlüssel mit dem Index 0 aufgezä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 aufgezählten Schlüssel ändern könnten.

Anforderungen

Anforderung Wert
Verteilbare Komponente
Windows-Offlineregistrierungsbibliothek, Version 1.0 oder höher
Header
Offreg.h
DLL
Offreg.dll

Siehe auch

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey