Diretiva INF DelFiles

Caution

Se estiver a construir um pacote universal ou de drivers para Windows, esta diretiva não é válida. Veja Usar um Ficheiro INF Universal e comece a desenvolver drivers para Windows.

Uma diretiva DelFiles faz referência a uma secção definida pelo escritor INF noutra parte do ficheiro INF, e faz com que essa lista de ficheiros seja eliminada no contexto das operações na secção em que a diretiva DelFiles referente é especificada.

[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]... 

Uma diretiva DelFiles pode ser especificada em qualquer uma das secções apresentadas na declaração sintática formal. Esta diretiva pode também ser especificada em qualquer uma das seguintes secções definidas pelo autor do INF:

Cada secção nomeada referenciada por uma diretiva DelFiles tem uma ou mais entradas do seguinte formato:

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

Uma secção de lista de ficheiros pode ter qualquer número de entradas, cada uma numa linha separada.

Entradas

nome do ficheiro-destino-de-destino
Especifica o nome do ficheiro a ser eliminado do destino.

Não especifique um ficheiro listado numa diretiva CopyFiles . Se um ficheiro estiver listado tanto numa secção referenciada a CopyFiles como numa secção referenciada a DelFiles, e o ficheiro estiver atualmente presente no sistema com uma assinatura válida, o sistema operativo pode otimizar a operação de cópia, mas realizar a operação de eliminação. Isto muito provavelmente não era o que o autor do INF pretendia.

Note

Não pode usar um token % %strkey para especificar a entrada do nome do ficheiro de destino. Para mais informações sobre %tokens strkey%, consulte a Secção INF Strings.

flag
Este valor opcional pode ser um dos seguintes, expresso em notação hexadecimal como mostrado aqui, ou como valor decimal:

0x00000001 (DELFLG_IN_USE)
Apaga o ficheiro nomeado, possivelmente depois de ter sido usado durante o processo de instalação.

Definir este valor de flag num INF enfileira a operação de eliminação de ficheiros até que o sistema reinicie, caso o ficheiro dado não possa ser eliminado porque está em uso enquanto este INF está a ser processado. Caso contrário, tal ficheiro não será eliminado.

0x00010000 (DELFLG_IN_USE1) (Windows versões de 2000 ou posteriores de Windows)
Esta bandeira é uma versão de palavra alta da bandeira DELFLG_IN_USE, e tem o mesmo propósito e efeito. Esta bandeira deve ser usada apenas para instalações em sistemas baseados em NT.

Definir este valor de flag num INF previne conflitos com o flag de COPYFLG_WARN_IF_SKIP num INF com diretivas tanto DelFiles como CopyFiles que fazem referência à mesma secção de lista de ficheiros.

Remarks

Important

Esta diretiva deve ser usada com cuidado. Recomendamos vivamente que não utilize a diretiva DelFiles no ficheiro INF para um controlador de funções Plug and Play (PnP).

Qualquer nome de secção de lista de ficheiros deve ser único para o ficheiro INF, mas pode ser referenciado por diretivas CopyFiles, DelFiles ou RenFiles noutros locais do mesmo INF. Tal nome de secção definido pelo autor INF deve seguir as regras gerais para definir nomes de secção. Para mais informações sobre estas regras, consulte Regras Gerais de Sintaxe para Ficheiros INF.

A diretiva DelFiles não suporta decorar um nome de secção de lista de ficheiros com uma extensão de plataforma definida pelo sistema (.nt, .ntx86, .ntia64, .ntamd64, .ntarm ou .ntarm64).

A secção DestinationDirs do ficheiro INF controla o destino para todas as operações de eliminação de ficheiros, independentemente da secção que contenha uma diretiva específica DelFiles . Se uma secção nomeada referenciada por uma diretiva DelFiles tiver uma entrada correspondente na secção DestinationDirs do mesmo INF, essa entrada especifica explicitamente o diretório de destino do qual todos os ficheiros listados na secção nomeada serão eliminados. Se a secção nomeada não estiver listada na secção DestinationDirs, o Windows utiliza a entrada DefaultDestDir no INF.

Examples

Este exemplo mostra como a secção DestinationDirs especifica o caminho para uma operação de eliminação de ficheiro que ocorre no processamento de um INF simples de driver 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 
; ...

Ver também

AddInterface

ClassInstall32

CopyFiles

DDInstall

DestinationDirs

InterfaceInstall32

RenFiles

Cordas