Dyrektywa INF DelFiles

Caution

Jeśli tworzysz uniwersalny lub Windows pakiet sterowników, ta dyrektywa jest nieprawidłowa. Zobacz Using a Universal INF File (Używanie uniwersalnego pliku INF) i Get started developing Windows drivers (Rozpoczynanie opracowywania sterowników Windows).

Dyrektywa DelFiles odwołuje się do sekcji zdefiniowanej przez moduł zapisywania INF w innym miejscu w pliku INF i powoduje usunięcie tej listy plików w kontekście operacji w sekcji, w której określono dyrektywę DelFiles odwołującą się.

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

Dyrektywę DelFiles można określić w dowolnej sekcji pokazanej w instrukcji składni formalnej. Tę dyrektywę można również określić w dowolnej z następujących sekcji zdefiniowanych przez moduł zapisywania INF:

Każda nazwana sekcja, do której odwołuje się dyrektywa DelFiles , zawiera co najmniej jeden wpis następującego formularza:

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

Sekcja lista-plików może zawierać dowolną liczbę wpisów, z których każda znajduje się w osobnym wierszu.

Wpisy

nazwa pliku docelowego
Określa nazwę pliku, który ma zostać usunięty z miejsca docelowego.

Nie należy określać pliku wymienionego w dyrektywie CopyFiles . Jeśli plik jest wymieniony zarówno w sekcji przywoływałej do pliku CopyFiles, jak i w sekcji z odwołaniem do delFiles, a plik jest obecnie obecny w systemie z prawidłowym podpisem, system operacyjny może zoptymalizować operację kopiowania, ale wykonać operację usuwania. Jest to bardzo prawdopodobne , że nie jest to, co zamierza pisarz INF.

Uwaga

Nie można użyć tokenu % strkey %, aby określić wpis destination-file-name. Aby uzyskać więcej informacji na temat tokenów% strkey %, zobacz sekcję Ciągi INF.

flag
Ta opcjonalna wartość może być jedną z następujących wartości wyrażonych w notacji szesnastkowej, jak pokazano tutaj lub jako wartość dziesiętna:

0x00000001 (DELFLG_IN_USE)
Usuń nazwany plik, prawdopodobnie po jego użyciu podczas procesu instalacji.

Ustawienie tej wartości flagi w kolejce INF operacji usuwania plików do czasu ponownego uruchomienia systemu, jeśli nie można usunąć danego pliku, ponieważ jest używany podczas przetwarzania tego INF. W przeciwnym razie taki plik nie zostanie usunięty.

0x00010000 (DELFLG_IN_USE1) (Windows 2000 lub nowsze wersje Windows)
Ta flaga jest wersją o wysokim słowie flagi DELFLG_IN_USE i ma ten sam cel i efekt. Ta flaga powinna być używana tylko w przypadku instalacji w systemach opartych na nt.

Ustawienie tej wartości flagi w inf zapobiega konfliktom z flagą COPYFLG_WARN_IF_SKIP w inf z zarówno dyrektywami DelFiles , jak i CopyFiles , które odwołują się do tej samej sekcji file-list-section.

Remarks

Important

Niniejsza dyrektywa musi być starannie używana. Zdecydowanie zalecamy, aby nie używać dyrektywy DelFiles w pliku INF dla sterownika funkcji Plug and Play (PnP).

Dowolna nazwa sekcji listy plików musi być unikatowa dla pliku INF, ale może być przywołyna przez dyrektywy CopyFiles, DelFiles lub RenFiles w innym miejscu w tej samej innej lokalizacji INF. Taka nazwa sekcji zdefiniowanej przez moduł zapisywania INF musi być zgodna z ogólnymi regułami definiowania nazw sekcji. Aby uzyskać więcej informacji na temat tych reguł, zobacz Ogólne reguły składni dla plików INF.

Dyrektywa DelFiles nie obsługuje dekorowania nazwy sekcji file-list-section z rozszerzeniem platformy zdefiniowanej przez system (.nt, ntx86, .ntia64, .ntamd64, .ntarm lub .ntarm64).

Sekcja DestinationDirs pliku INF kontroluje miejsce docelowe wszystkich operacji usuwania plików, niezależnie od sekcji zawierającej konkretną dyrektywę DelFiles . Jeśli nazwana sekcja, do której odwołuje się dyrektywa DelFiles , ma odpowiedni wpis w sekcji DestinationDirs tego samego INF, ten wpis jawnie określa docelowy katalog docelowy, z którego zostaną usunięte wszystkie pliki wymienione w nazwanej sekcji. Jeśli nazwana sekcja nie znajduje się na liście w sekcji DestinationDirs, Windows używa wpisu DefaultDestDir w inf.

Examples

W tym przykładzie pokazano, jak sekcja DestinationDirs określa ścieżkę operacji usuwania pliku, która występuje podczas przetwarzania prostego sterownika urządzenia 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 
; ...

Informacje dodatkowe

AddInterface

ClassInstall32

CopyFiles

DDInstall

DestinationDirs

InterfaceInstall32

RenFiles

Ciągi