Directiva INF DelFiles

Precaución

Si va a compilar un paquete universal o de Controlador de Windows, esta directiva no es válida. Consulta Usar un archivo INF universal y Introducción con controladores de Windows.

Una directiva DelFiles hace referencia a una sección definida por INF-writer en otra parte del archivo INF y hace que la lista de archivos se elimine en el contexto de las operaciones de la sección en la que se especifica la directiva DelFiles de referencia.

[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) 
  
Delfiles=file-list-section[,file-list-section]... 

Se puede especificar una directiva DelFiles dentro de cualquiera de las secciones que se muestran en la instrucción de sintaxis formal. Esta directiva también se puede especificar en cualquiera de las siguientes secciones definidas por INF-writer:

Cada sección con nombre a la que hace referencia una directiva DelFiles tiene una o varias entradas de la forma siguiente:

[file-list-section]
 
destination-file-name[,,,flag]
...

Una sección de lista de archivos puede tener cualquier número de entradas, cada una en una línea independiente.

Entradas

destination-file-name
Especifica el nombre del archivo que se va a eliminar del destino.

No especifique un archivo que aparezca en una directiva CopyFiles . Si un archivo aparece en una sección a la que se hace referencia en CopyFiles y en una sección a la que se hace referencia en DelFiles, y el archivo está presente actualmente en el sistema con una firma válida, el sistema operativo podría optimizar la operación de copia, pero realizar la operación de eliminación. Esto es muy probable que no sea lo que el escritor INF pretendía.

Nota

No puede usar un token %strkey% para especificar la entrada destination-file-name. Para obtener más información sobre %strkey% tokens, vea sección Cadenas INF.

flag
Este valor opcional puede ser uno de los siguientes, expresados en notación hexadecimal, como se muestra aquí o como un valor decimal:

0x00000001 (DELFLG_IN_USE)
Elimine el archivo con nombre, posiblemente después de usarlo durante el proceso de instalación.

Al establecer este valor de marca en una cola INF, se pone en cola la operación de eliminación de archivos hasta que el sistema se haya reiniciado si no se puede eliminar el archivo especificado porque está en uso mientras se procesa este INF. De lo contrario, este archivo no se eliminará.

0x00010000 (DELFLG_IN_USE1) (Windows 2000 o versiones posteriores de Windows)
Esta marca es una versión de palabra alta de la marca DELFLG_IN_USE y tiene el mismo propósito y efecto. Esta marca solo se debe usar en para instalaciones en sistemas basados en NT.

Establecer este valor de marca en un INF evita conflictos con la marca COPYFLG_WARN_IF_SKIP en un INF con directivas DelFiles y CopyFiles que hacen referencia a la misma sección de lista de archivos.

Comentarios

Importante

Esta directiva debe usarse cuidadosamente. Se recomienda encarecidamente no usar la directiva DelFiles en el archivo INF para un controlador de función de Plug and Play (PnP).

Cualquier nombre de sección de lista de archivos debe ser único para el archivo INF, pero se puede hacer referencia a él mediante las directivas CopyFiles, DelFiles o RenFiles en otro lugar del mismo INF. Este tipo de nombre de sección definido por INF-writer debe seguir las reglas generales para definir los nombres de sección. Para obtener más información sobre estas reglas, vea Reglas de sintaxis general para archivos INF.

La directiva DelFiles no admite la decoración de un nombre de sección file-list-section con una extensión de plataforma definida por el sistema (.nt, .ntx86, .ntia64, .ntamd64, .ntarm o .ntarm64).

La sección DestinationDirs del archivo INF controla el destino de todas las operaciones de eliminación de archivos, independientemente de la sección que contenga una directiva DelFiles determinada. Si una sección con nombre a la que hace referencia una directiva DelFiles tiene una entrada correspondiente en la sección DestinationDirs del mismo INF, esa entrada especifica explícitamente el directorio de destino del que se eliminarán todos los archivos enumerados en la sección con nombre. Si la sección con nombre no aparece en la sección DestinationDirs , Windows usa la entrada DefaultDestDir en inf.

Ejemplos

En este ejemplo se muestra cómo la sección DestinationDirs especifica la ruta de acceso de una operación de eliminación de archivos que se produce al procesar un INF simple del controlador de dispositivo.

[DestinationDirs]
DefaultDestDir = 12  ; DIRID_DRIVERS 

; ... 

[AHA154X]
CopyFiles=@AHA154x.MPD
DelFiles=ASPIDEV ; defines delete-files section name
; ... some other directives and sections omitted here

[ASPIDEV]
VASPID.SYS ; name of file to be deleted, if it exists on target 
; ...

Consulte también

AddInterface

ClassInstall32

CopyFiles

DDInstall

DestinationDirs

InterfaceInstall32

RenFiles

Cadenas