Condividi tramite


Funzione RegDeleteKeyExA (winreg.h)

Elimina una sottochiave e i relativi valori dalla visualizzazione specifica della piattaforma specificata del Registro di sistema. Si noti che i nomi delle chiavi non sono distinzione tra maiuscole e minuscole.

Per eliminare una sottochiave come operazione transazionata, chiamare la funzione RegDeleteKeyTransacted .

Sintassi

LSTATUS RegDeleteKeyExA(
  [in] HKEY   hKey,
  [in] LPCSTR lpSubKey,
  [in] REGSAM samDesired,
       DWORD  Reserved
);

Parametri

[in] hKey

Handle per una chiave del Registro di sistema aperta. I diritti di accesso di questa chiave non influiscono sull'operazione di eliminazione. Per altre informazioni sui diritti di accesso, vedere Sicurezza delle chiavi del Registro di sistema e diritti di accesso.

Questo handle viene restituito dalla funzione RegCreateKeyEx o RegOpenKeyEx oppure può essere una delle chiavi predefinite seguenti:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] lpSubKey

Nome della chiave da eliminare. Questa chiave deve essere una sottochiave della chiave specificata dal valore del parametro hKey .

La funzione apre la sottochiave con il diritto di accesso DELETE.

I nomi delle chiavi non sono distinzione tra maiuscole e minuscole.

Il valore di questo parametro non può essere NULL.

[in] samDesired

Maschera di accesso specifica la visualizzazione specifica della piattaforma del Registro di sistema.

Valore Significato
KEY_WOW64_32KEY
0x0200
Eliminare la chiave dalla visualizzazione registro a 32 bit.
KEY_WOW64_64KEY
0x0100
Eliminare la chiave dalla visualizzazione registro a 64 bit.

Reserved

Questo parametro è riservato e deve essere zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione generica dell'errore.

Commenti

Una chiave eliminata non viene rimossa fino all'ultima chiusura dell'handle.

In WOW64, le applicazioni a 32 bit visualizzano un albero del Registro di sistema separato dall'albero del Registro di sistema visualizzato dalle applicazioni a 64 bit. Questa funzione consente a un'applicazione di eliminare una voce nella visualizzazione del Registro di sistema alternativo.

La sottochiave da eliminare non deve avere sottochiave. Per eliminare una chiave e tutte le relative sottochiavi, è necessario enumerare le sottochiave ed eliminarle singolarmente. Per eliminare le chiavi in modo ricorsivo, usare la funzione RegDeleteTree o SHDeleteKey.

Se la funzione ha esito positivo, RegDeleteKeyEx rimuove la chiave specificata dal Registro di sistema. L'intera chiave, inclusa tutte le relative valori, viene rimossa.

Nota

Nelle versioni legacy di Windows, questa API viene esposta anche da kernel32.dll.

Nota

L'intestazione winreg.h definisce RegDeleteKeyEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows Vista, Windows XP Professional x64 Edition [solo app desktop]
Server minimo supportato Windows Server 2008, Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winreg.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

RegCreateKeyEx

RegDeleteKeyTransacted

Regopenkeyex

Funzioni del Registro di sistema

Reindirizzamento del Registro di sistema