Direttiva INF DelReg
Attenzione
Se stai creando un pacchetto universale o windows Driver, questa direttiva non è valida. Vedi Uso di un file INF universale e Introduzione allo sviluppo di driver windows.
Una direttiva DelReg fa riferimento a una o più sezioni definite dal writer INF che descrivono le chiavi e/o le voci di valore da rimuovere dal Registro di sistema.
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
DelReg=del-registry-section[,del-registry-section]...
Ogni sezione del registry a cui fa riferimento una direttiva DelReg ha il formato seguente:
[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...
Una sezione del Registro di sistema può avere un numero qualsiasi di voci, ognuna in una riga separata.
whse.
reg-root-string
Identifica la radice dell'albero del Registro di sistema per altri valori forniti in questa voce. Il valore può essere uno dei seguenti:
HKCR
Abbreviazione di HKEY_CLASSES_ROOT.
HKCU
Abbreviazione di HKEY_CURRENT_USER.
HKLM
Abbreviazione di HKEY_LOCAL_MACHINE.
HKU
Abbreviazione di HKEY_USERS.
HKR
Radice relativa, in cui le chiavi specificate tramite questa abbreviazione sono relative alla chiave del Registro di sistema associata alla sezione INF in cui viene visualizzata questa direttiva DelReg , come indicato nella tabella seguente.
Sezione INF contenente la direttiva AddReg | Chiave del Registro di sistema a cui fa riferimento HKR |
---|---|
Sezione INF DDInstall | Chiave software del dispositivo |
INF DDInstall. Sezione HW | Chiave hardware del dispositivo |
INF DDInstall. Sezione Servizi | Chiave di Servizi |
Nota
HkR non può essere usato in una sezione del registry a cui fa riferimento una sezione INF DefaultInstall.
Per altre informazioni sui driver archiviati nella radice HKEY_LOCAL_MACHINE , vedere Alberi e chiavi del Registro di sistema per dispositivi e driver.
sottochiave
Questo valore facoltativo, formato come token %strkey% definito in una sezione Stringhe di INF o come percorso del Registro di sistema sotto la radice reg specificata (key1\key2\key3...), specifica uno dei seguenti:
Sottochiave da eliminare dal Registro di sistema alla fine del percorso del Registro di sistema specificato
Sottochiave esistente da cui eliminare il valore-entry-name specificato
value-entry-name
Questo valore identifica una voce di valore denominata da rimuovere dalla sottochiave specificata. Questo valore e la virgola precedente devono essere omessi se la sottochiave stessa viene rimossa dal Registro di sistema.
flag (Windows XP e versioni successive di Windows.
Questo valore esadecimale facoltativo, espresso come maschera di bit ORed di valori di word bassa e di tipo alto definiti dal sistema, definisce il tipo di dati per una voce di valore o controlla l'operazione delete-registry. Se non si specificano flag, verrà eliminata la sottochiave value-entry-name (se specificato) o .
I valori di maschera di bit per ognuno di questi flag sono i seguenti:
0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Eliminare l'intera sottochiave.
0x00004000 (FLG_DELREG_32BITKEY)
Apportare la modifica specificata nel Registro di sistema a 32 bit. Se non specificato, la modifica viene apportata al Registro di sistema nativo.
0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
All'interno di una voce del Registro di sistema multistringa eliminare tutte le stringhe corrispondenti a un valore stringa specificato da value. La distinzione tra maiuscole e minuscole viene ignorata.
value (Windows XP e versioni successive di Windows).)
Specifica un valore del Registro di sistema, se flags indica che è necessario un valore del Registro di sistema.
Osservazioni:
È possibile specificare una direttiva DelReg in una delle sezioni illustrate nell'istruzione di sintassi formale precedente. Questa direttiva può essere specificata anche in una delle sezioni INF-writer-defined seguenti:
Sezione service-install-section o event-log-install a cui fa riferimento la direttiva AddService in un DDInstall INF. Sezione Servizi.
Sezione add-interface a cui fa riferimento la direttiva AddInterface in un inF DDInstall. Sezione Interfacce.
Sezione install-interface-referenced in una sezione INF InterfaceInstall32.
In generale, un INF non deve mai tentare di eliminare sottochiavi o voci di valore all'interno di sottochiavi esistenti configurate dai componenti di sistema o dai file INF per altri dispositivi. Lo scopo di una sezione del Registro di sistema consiste nel pulire le informazioni del Registro di sistema non aggiornate da un'installazione precedente usando un nuovo file INF fornito dallo stesso provider.
Ogni nome della sezione del registry deve essere univoco per il file INF, ma può essere fatto riferimento dalle direttive DelReg in altre sezioni dello stesso INF. Ogni nome di sezione deve seguire le regole generali per la definizione dei nomi di sezione. Per altre informazioni su queste regole, vedere Regole di sintassi generali per i file INF.
Con le versioni del sistema operativo precedenti a Windows XP, l'unico modo per eliminare una chiave è specificando quanto segue:
reg-root-string, subkey
Per Windows XP e versioni successive di Windows, è anche consentito specificare il Registro di sistema a 32 bit:
reg-root-string, subkey,,0x4000
Esempi
In questo esempio viene illustrato come il programma di installazione delle porte COM/LPT fornite dal sistema rimuove le informazioni non aggiornate specifiche del Registro di sistema NT sulle porte COM dal Registro di sistema.
[ComPort.NT]
AddReg=ComPort.NT.AddReg
... ; more directives omitted here
[ComPort.NT.HW]
DelReg=ComPort.NT.HW.DelReg
[Comport.NT.AddReg]
HKR,,EnumPropPages32,,"MSPorts.dll,SerialPortPropPageProvider"
[ComPort.NT.HW.DelReg]
HKR,,UpperFilters