Поделиться через


Директива INF DelFiles

Внимание

Если вы создаете универсальный или пакет драйвера Windows, эта директива недопустима. Ознакомьтесь с использованием универсального INF-файла и начала разработки драйверов Windows.

Директива DelFiles ссылается на раздел INF-записи, определенный в другом месте INF-файла, и приводит к удалению списка файлов в контексте операций с разделом, в котором указана директива DelFiles.

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

Директива DelFiles может быть указана в любом из разделов, показанных в формальной инструкции синтаксиса. Эта директива также может быть указана в любом из следующих разделов INF-writer:

Каждый именованный раздел, на который ссылается директива DelFiles , содержит одну или несколько записей следующей формы:

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

В разделе списка файлов может быть любое количество записей, каждое из которых содержит отдельную строку.

Операции

имя целевого файла
Указывает имя файла, который нужно удалить из назначения.

Не указывайте файл, указанный в директиве CopyFiles . Если файл указан как в разделе copyFiles, так и в разделе DelFiles, а файл в настоящее время присутствует в системе с допустимой подписью, операционная система может оптимизировать операцию копирования, но выполнить операцию удаления. Это, скорее всего , не то, что он намеревался.

Примечание.

Маркер %strkey% нельзя использовать для указания записи имени целевого файла. Дополнительные сведения о маркерах %strkey% см. в разделе INF Strings.

flag
Это необязательное значение может быть одним из следующих значений, выраженных в шестнадцатеричной нотации, как показано здесь или как десятичное значение:

0x00000001 (DELFLG_IN_USE)
Удалите именованный файл, возможно, после того, как он использовался во время установки.

Установка этого значения флага в очереди INF выполняет операцию удаления файлов до тех пор, пока система не перезагрузится, если данный файл не может быть удален, так как он используется при обработке этого INF-файла. В противном случае такой файл не будет удален.

0x00010000 (DELFLG_IN_USE1) (Windows 2000 или более поздние версии Windows)
Этот флаг представляет собой высокословную версию флага DELFLG_IN_USE, и она имеет ту же цель и эффект. Этот флаг следует использовать только для установки в системах на основе NT.

Установка этого значения флага в INF предотвращает конфликты с флагом COPYFLG_WARN_IF_SKIP в INF с директивами DelFiles и CopyFiles, ссылающимися на один и тот же раздел списка файлов.

Замечания

Внимание

Эту директиву следует тщательно использовать. Настоятельно рекомендуется не использовать директиву DelFiles в INF-файле для драйвера функции самонастраивающийся (PnP).

Любое имя раздела списка файлов должно быть уникальным для INF-файла, но на него можно ссылаться директивы CopyFiles, DelFiles или RenFiles в другом месте в том же INF. Такое имя раздела INF-writer должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.

Директива DelFiles не поддерживает декорирование имени раздела файла с расширением платформы (.nt, ntx86, .ntia64, .ntamd64, .ntamd64, .ntarm или NTARM64).

Раздел DestinationDirs в INF-файле управляет назначением для всех операций удаления файлов независимо от раздела, содержащего определенную директиву DelFiles . Если именованный раздел, на который ссылается директива DelFiles, имеет соответствующую запись в разделе DestinationDirs одного и того же INF, то эта запись явно указывает целевой каталог назначения, из которого будут удалены все файлы, перечисленные в именованном разделе. Если именованный раздел не указан в разделе DestinationDirs , Windows использует запись DefaultDestDir в INF.

Примеры

В этом примере показано, как раздел DestinationDirs указывает путь для операции удаления файла, которая возникает при обработке простого INF-драйвера устройства.

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

См. также

AddInterface

ClassInstall32

CopyFiles

DDInstall

DestinationDirs

InterfaceInstall32

RenFiles

Строки