RegDeleteKeyA-Funktion (winreg.h)
Löscht einen Unterschlüssel und dessen Werte. Beachten Sie, dass bei Schlüsselnamen die Groß-/Kleinschreibung nicht beachtet wird.
64-Bit-Windows: Auf WOW64 zeigen 32-Bit-Anwendungen eine Registrierungsstruktur an, die von der Registrierungsstruktur getrennt ist, die 64-Bit-Anwendungen anzeigen. Um einer Anwendung das Löschen eines Eintrags in der alternativen Registrierungsansicht zu ermöglichen, verwenden Sie die RegDeleteKeyEx--Funktion.
Syntax
LSTATUS RegDeleteKeyA(
[in] HKEY hKey,
[in] LPCSTR lpSubKey
);
Parameter
[in] hKey
Ein Handle zu einem geöffneten Registrierungsschlüssel. Die Zugriffsrechte dieses Schlüssels wirken sich nicht auf den Löschvorgang aus. Weitere Informationen zu Zugriffsrechten finden Sie unter Registry Key Security and Access Rights.
Dieses Handle wird von der RegCreateKeyEx-- oder RegOpenKeyEx--Funktion zurückgegeben, oder es kann sich um eine der folgenden vordefinierten Schlüssel:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in] lpSubKey
Der Name des zu löschenden Schlüssels. Es muss sich um einen Unterschlüssel des Schlüssels handeln, der hKey- identifiziert, jedoch keine Unterschlüssel enthalten kann. Dieser Parameter kann nicht NULL-werden.
Die Funktion öffnet den Unterschlüssel mit dem DELETE-Zugriffsrecht.
Bei Schlüsselnamen wird die Groß-/Kleinschreibung nicht beachtet.
Weitere Informationen finden Sie unter Registrierungselementgrößenbeschränkungen.
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. Um eine allgemeine Beschreibung des Fehlers zu erhalten, können Sie die FormatMessage--Funktion mit dem FORMAT_MESSAGE_FROM_SYSTEM-Flag verwenden.
Bemerkungen
Ein gelöschter Schlüssel wird erst entfernt, wenn der letzte Handle geschlossen wird.
Der zu löschende Unterschlüssel darf keine Unterschlüssel enthalten. Um einen Schlüssel und alle zugehörigen Unterschlüssel zu löschen, müssen Sie die Unterschlüssel aufzählen und einzeln löschen. Um Schlüssel rekursiv zu löschen, verwenden Sie die RegDeleteTree- oder SHDeleteKey--Funktion.
Beispiele
Ein Beispiel, das diese Funktion verwendet, finden Sie unter Löschen eines Schlüssels mit Unterschlüsseln.
Anmerkung
In älteren Versionen von Windows wird diese API auch von kernel32.dllverfügbar gemacht.
Anmerkung
Der winreg.h-Header definiert RegDeleteKey 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 |