次の方法で共有


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 ライター定義セクション内のいずれかで指定することもできます。

DelFiles ディレクティブによって参照される各名前付きセクションには、次の形式の 1 つ以上のエントリがあります。

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

ファイル リスト セクション には、それぞれ個別の行に任意の数のエントリを含めることができます。

Entries

destination-file-name
コピー先から削除するファイルの名前を指定します。

CopyFiles ディレクティブにリストされているファイルを指定しないでください。 ファイルが CopyFiles 参照セクションと DelFiles 参照セクションの両方にリストされていて、ファイルが有効な署名を持つシステム上に存在する場合、オペレーティング システムはコピー操作を最適化するが削除操作を実行する可能性があります。 これは、INF ライターが意図した内容 ではない 可能性が非常に高いです。

Note

%strkey% トークンを使用して destination-file-name エントリを指定することはできません。 %strkey% トークンの詳細については、「INF 文字列」セクションを参照してください。

flag
この省略可能な値は、次のいずれかを指定できます。次に示すように、または 10 進値として 16 進表記で表します。

0x00000001 (DELFLG_IN_USE)
名前付きファイルは、インストール プロセス中に使用された後で削除してください。

INF でこのフラグ値を設定すると、指定されたファイルを削除できない場合にシステムが再起動するまで、ファイル削除操作がキューに格納されます。これは、この INF の処理中に使用中であるためです。 それ以外の場合、そのようなファイルは削除されません。

0x00010000 (DELFLG_IN_USE1) (Windows 2000 以降のバージョンの Windows)
このフラグは、DELFLG_IN_USE フラグの上位バージョンであり、同じ目的と効果を持ちます。 このフラグは、NT ベースのシステム上のインストールでのみ使用する必要があります。

INF でこのフラグ値を設定すると、同じ ファイル リスト セクションを参照する DelFiles ディレクティブと CopyFiles ディレクティブの両方を持つ INF のCOPYFLG_WARN_IF_SKIP フラグとの競合を防ぐことができます。

解説

重要

このディレクティブは慎重に使用する必要があります。 プラグ アンド プレイ (PnP) 関数ドライバーの INF ファイルで DelFiles ディレクティブを使用しないことを強くお勧めします。

すべての ファイル リスト セクション 名は INF ファイルに対して一意である必要がありますが、同じ INF ファイル内の他の場所にある CopyFilesDelFiles、または RenFiles ディレクティブで参照できます。 このような INF ライター定義セクション名は、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「INF ファイルの一般的な構文規則」を参照してください。

DelFiles ディレクティブは、システム定義のプラットフォーム拡張子 (.nt.ntx86.ntia64.ntamd64.ntarm、または .ntarm64) を使用した ファイル リスト セクション 名の修飾をサポートしていません。

INF ファイルの DestinationDirs セクションは、特定の DelFiles ディレクティブを含むセクションに関係なく、すべてのファイル削除操作の宛先を制御します。 DelFiles ディレクティブによって参照される名前付きセクションが、 同じ INF の DestinationDirs セクションに対応するエントリを持つ場合、 そのエントリは、名前付きセクションにリストされているすべてのファイルが 削除されるターゲットディレクトリを明示的に指定します。 名前付きセクションが DestinationDirs セクションに表示されていない場合、Windows は INF の DefaultDestDir エントリを使用します。

この例では、 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

文字列