Condividi tramite


Funzione RegDeleteKeyExW (winreg.h)

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

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

Sintassi

LSTATUS RegDeleteKeyExW(
  [in] HKEY    hKey,
  [in] LPCWSTR 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 fanno distinzione tra maiuscole e minuscole.

Il valore di questo parametro non può essere NULL.

[in] samDesired

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

Valore Significato
KEY_WOW64_32KEY
0x0200
Eliminare la chiave dalla visualizzazione del Registro di sistema a 32 bit.
KEY_WOW64_64KEY
0x0100
Eliminare la chiave dalla visualizzazione del Registro di sistema a 64 bit.

Reserved

Questo parametro è riservato e deve essere zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene 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 finché non viene chiuso l'ultimo 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 alternativa.

La sottochiave da eliminare non deve contenere sottochiavi. Per eliminare una chiave e tutte le relative sottochiavi, è necessario enumerare le sottochiavi 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, inclusi tutti i relativi 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
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

Redirector del Registro di sistema