Freigeben über


RegOpenKeyA-Funktion (winreg.h)

Öffnet den angegebenen Registrierungsschlüssel.

Hinweis Diese Funktion wird nur zur 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 zu einem 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:

  • 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 Registrierungselementgrößenbeschränkungen.

[out] phkResult

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

Rückgabewert

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

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein nichtzero-Fehlercode, der in Winerror.h definiert ist. Sie können die FormatMessage--Funktion mit dem FORMAT_MESSAGE_FROM_SYSTEM Flag verwenden, um eine allgemeine Beschreibung des Fehlers zu erhalten.

Bemerkungen

Die RegOpenKey--Funktion verwendet die Standardsicherheitszugriffsmaske, um einen Schlüssel zu öffnen. Wenn beim Öffnen der Taste ein anderer Zugriffsrecht erforderlich ist, schlägt die Funktion fehl und gibt ERROR_ACCESS_DENIED zurück. Eine Anwendung sollte die RegOpenKeyEx--Funktion verwenden, um in dieser Situation eine Zugriffsmaske anzugeben.

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

Wenn Ihr Dienst oder Ihre Anwendung unterschiedliche Benutzer imitiert, verwenden Sie diese Funktion nicht mit HKEY_CURRENT_USER. Rufen Sie stattdessen die RegOpenCurrentUser-Funktion auf.

Anmerkung

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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winreg.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

RegCloseKey-

RegDeleteKey-

RegOpenKeyEx-

Registrierungsfunktionen

Registrierungsübersicht