RegOpenKeyA-Funktion (winreg.h)
Öffnet den angegebenen Registrierungsschlüssel.
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 |