RegDeleteKeyA-Funktion (winreg.h)

Löscht einen Unterschlüssel und seine Werte. Beachten Sie, dass bei Schlüsselnamen die Groß-/Kleinschreibung nicht beachtet wird.

64-Bit-Windows: In 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 für einen geöffneten Registrierungsschlüssel. Die Zugriffsrechte dieses Schlüssels wirken sich nicht auf den Löschvorgang aus. Weitere Informationen zu Zugriffsrechten finden Sie unter Sicherheit und Zugriffsrechte für 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] lpSubKey

Der Name des zu löschenden Schlüssels. Es muss ein Unterschlüssel des Schlüssels sein, den hKey identifiziert, kann aber keine Unterschlüssel enthalten. Dieser Parameter darf nicht NULL sein.

Die Funktion öffnet den Unterschlüssel mit dem Zugriffsrecht DELETE.

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

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

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.

Hinweise

Ein gelöschter Schlüssel wird erst entfernt, wenn das letzte Handle für ihn geschlossen ist.

Der zu löschende Unterschlüssel darf keine Unterschlüssel aufweisen. Um einen Schlüssel und alle zugehörigen Unterschlüssel zu löschen, müssen Sie die Unterschlüssel auflisten und einzeln löschen. Um Schlüssel rekursiv zu löschen, verwenden Sie die Funktion RegDeleteTree oder SHDeleteKey .

Beispiele

Ein Beispiel, das diese Funktion verwendet, finden Sie unter Löschen eines Schlüssels mit Unterschlüsseln.

Hinweis

In Legacyversionen von Windows wird diese API auch von kernel32.dll verfügbar gemacht.

Hinweis

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 nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
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 (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

RegCloseKey

RegCreateKeyEx

RegDeleteTree

RegOpenKeyEx

Registrierungsfunktionen

Registrierungsübersicht

SHDeleteEmptyKey

SHDeleteKey