RegOpenKeyA-Funktion (winreg.h)

Öffnet den angegebenen Registrierungsschlüssel.

Hinweis Diese Funktion wird nur aus Gründen der Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt. Anwendungen sollten die RegOpenKeyEx-Funktion verwenden.
 

Syntax

LSTATUS RegOpenKeyA(
  [in]           HKEY   hKey,
  [in, optional] LPCSTR lpSubKey,
  [out]          PHKEY  phkResult
);

Parameter

[in] hKey

Ein Handle für einen geöffneten Registrierungsschlüssel. Dieses Handle wird von der RegCreateKeyEx - oder RegOpenKeyEx-Funktion zurückgegeben, oder es kann sich um einen der folgenden vordefinierten Schlüssel handelt:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS

[in, optional] lpSubKey

Der Name des Registrierungsschlüssels, der geöffnet werden soll. Dieser Schlüssel muss ein Unterschlüssel des Schlüssels sein, der durch den hKey-Parameter identifiziert wird.

Bei Schlüsselnamen wird die Groß-/Kleinschreibung nicht beachtet.

Wenn dieser Parameter NULL oder ein Zeiger auf eine leere Zeichenfolge ist, gibt die Funktion dasselbe Handle zurück, das übergeben wurde.

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

[out] phkResult

Ein Zeiger auf eine Variable, die ein Handle für den geöffneten Schlüssel empfängt. Wenn der Schlüssel keiner der vordefinierten Registrierungsschlüssel ist, rufen Sie die RegCloseKey-Funktion auf, nachdem Sie das Handle verwendet haben.

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.

Hinweise

Die RegOpenKey-Funktion verwendet die Standardmäßige Sicherheitszugriffsmaske, um einen Schlüssel zu öffnen. Wenn das Öffnen des Schlüssels ein anderes Zugriffsrecht erfordert, schlägt die Funktion fehl und gibt ERROR_ACCESS_DENIED zurück. Eine Anwendung sollte in dieser Situation die RegOpenKeyEx-Funktion verwenden, um eine Zugriffsmaske anzugeben.

RegOpenKey erstellt den angegebenen Schlüssel nicht, wenn der Schlüssel nicht in der Datenbank vorhanden ist.

Wenn Ihr Dienst oder Ihre Anwendung die Identität verschiedener Benutzer angibt, verwenden Sie diese Funktion nicht mit HKEY_CURRENT_USER. Rufen Sie stattdessen die RegOpenCurrentUser-Funktion auf.

Hinweis

Der winreg.h-Header definiert RegOpenKey als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winreg.h (Windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

RegCloseKey

RegDeleteKey

RegOpenKeyEx

Registrierungsfunktionen

Übersicht über die Registrierung