Directiva DelReg de INF
Precaución
Si va a crear un paquete de controladores universal o de Windows, esta directiva no es válida. Consulte Uso de un archivo INF universal e Introducción al desarrollo de controladores de Windows.
Una directiva DelReg hace referencia a una o varias secciones INF-writer-defined que describen claves o entradas de valor que se van a quitar del registro.
[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]...
Cada del-registry-section a la que hace referencia una directiva DelReg tiene el siguiente formato:
[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...
Una del-registry-section puede tener cualquier número de entradas, cada una en una línea independiente.
Entries
reg-root-string
Identifica la raíz del árbol del registro para otros valores proporcionados en esta entrada. El valor puede ser uno de los siguientes:
HKCR
Abreviatura de HKEY_CLASSES_ROOT.
HKCU
Abreviatura de HKEY_CURRENT_USER.
HKLM
Abreviatura de HKEY_LOCAL_MACHINE.
HKU
Abreviatura de HKEY_USERS.
HKR
Raíz relativa, en la que las claves especificadas mediante esta abreviatura son relativas a la clave del registro asociada a la sección INF en la que aparece esta directiva DelReg, como se indica en la tabla siguiente.
Sección INF que contiene la directiva AddReg | Clave del registro a la que hace referencia HKR |
---|---|
Sección DDInstall de INF | Clave de software del dispositivo |
Sección DDInstall.HW de INF | Clave de hardware del dispositivo |
Sección DDInstall.Services de INF | Clave de servicios |
Nota:
HKR no se puede usar en una del-registry-section a la que se hace referencia en una sección DefaultInstall de INF.
Para obtener más información sobre la información del controlador almacenada en la raíz de HKEY_LOCAL_MACHINE, consulte Árboles y claves del registro para dispositivos y controladores.
subkey
Este valor opcional, formado como un token %strkey% definido en una sección Strings del INF o como una ruta de acceso del registro en reg-root (key1\key2\key3...) indicada, especifica uno de los elementos siguientes:
Subclave que se va a eliminar del registro al final de la ruta de acceso del registro especificada.
Subclave existente de la que se va a eliminar el elemento value-entry-name especificado.
value-entry-name
Este valor identifica una entrada de valor con nombre que se va a quitar de la subclave especificada. Este valor y su coma anterior se deben omitir si se quita la subclave del registro.
flags (Windows XP y versiones posteriores de Windows).
Este valor hexadecimal opcional, expresado como una máscara de bits ORed de valores de marca de palabra de orden superior e inferior definidos por el sistema, define el tipo de datos para una entrada de valor o controla la operación delete-registry. Si no se especifica flags, se eliminará el elemento value-entry-name (si se ha especificado) o subkey.
Los valores de máscara de bits para cada una de estas marcas son los siguientes:
0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Elimina toda la subclave.
0x00004000 (FLG_DELREG_32BITKEY)
Realiza el cambio especificado en el registro de 32 bits. Si no se especifica, el cambio se realiza en el registro nativo.
0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
Dentro de una entrada del registro de varias cadenas, elimina todas las cadenas que coinciden con un valor de cadena especificado por el valor. No distingue mayúsculas de minúsculas.
value (Windows XP y versiones posteriores de Windows).
Especifica un valor del registro, si flags indica que se requiere un valor del registro.
Comentarios
Se puede especificar una directiva DelReg en cualquiera de las secciones que se muestran en la instrucción de sintaxis formal anterior. Esta directiva también se puede especificar en cualquiera de las siguientes secciones INF-writer-defined:
Una sección service-install-section o event-log-install a la que hace referencia la directiva AddService en una sección INF DDInstall.Services.
Una add-interface-section a la que hace referencia la directiva AddInterface en una sección INF DDInstall.Interfaces.
Una install-interface-section a la que se hace referencia en una sección INF InterfaceInstall32.
En general, un INF nunca debe intentar eliminar subclaves o entradas de valor dentro de las subclaves existentes configuradas por componentes del sistema o por los archivos INF para otros dispositivos. El propósito de una del-registry-section es limpiar la información obsoleta del registro de una instalación anterior mediante un nuevo archivo INF proporcionado por el mismo proveedor.
Cada nombre de del-registry-section debe ser único para el archivo INF, pero las directivas DelReg pueden hacer referencia a ellos en otras secciones del mismo INF. Cada nombre de sección debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, consulte Reglas generales de sintaxis para archivos INF.
Con las versiones del sistema operativo anteriores a Windows XP, la única manera de eliminar una clave es especificando lo siguiente:
reg-root-string, subkey
Para Windows XP y versiones posteriores de Windows, también se permite lo siguiente (para especificar el registro de 32 bits):
reg-root-string, subkey,,0x4000
Ejemplos
En este ejemplo se muestra cómo el INF del instalador de la clase de puertos COM/LPT proporcionados por el sistema quita información obsoleta del registro NT específica sobre los puertos COM del registro.
[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